• blog 有关线程的常用方法总结

    java基础 0 构造方法 1.Thread(Runnable target)。参数为实现了Runnable接口的类。 2.Thread(String name)。参数为线程的名字。 3.Thread(Runnable target,Str 417
  • blog java中byte类型相加超出范围变负数解析

    java基础 0 java中byte类型相加超出范围变负数解析例: @Test public void t() { byte b=127; b+=127; System.out.println(b); }最终运行得出的结果时 -2源码解析: publ 364
  • blog java注解的理解与运用

    java基础 2 在用各种框架的时候,注解是几乎都会遇到的,那么他的原理是怎么样的呢!来探究一下1.我们用过很多注解比如下面的 jdk自带的注解@Override 表示覆盖或重写父类的方法;@Deprecated 表示该方法已经过时了。(当方法或是类上面有@ 344
  • blog 线程的同步问题

    java基础 0 多线程带来的问题: 线程有时候回和其他线程共享一些资源,比如内存、数据库等。当多个线程同时读写同一份共享资源的时候,可能会发生冲突。这时候,我们就需要引入线程“同步”机制,即各位线程之间要有顺序使用,不能杂乱无章随意使用。实例 326
  • blog 为什么静态方法不能new非静态内部类的实例对象?

    java基础 0 静态方法不能new内部类的实例对象解析:我们知道非静态内部类有一个特点就是可以访问外部类对象的非静态属性,而外部类的的属性只有再创建对象以后才有,而静态方法属于类,不属于对象,所以再main方法执行的时候并没有创建Main4的实例对象,而这 306
  • blog java启动线程的两种方式

    java基础 0 java启动线程的三种方式1.继承 Thread类,重写run方法,调用start方法启动线程2.实现Runnable接口,重写run方法,调用start方法启动线程3.实现Callable接口代码如下前两种方式:package club. 283
  • blog java io File类常用方法

    java基础 0 java io File类常用方法一个File类的对象,表示了磁盘上的文件或目录(注意其并不是文件本身)。1.构造方法2.文件的创建删除//如果文件存在返回false,否则返回true并且创建文件 boolean createNewFile 267
  • blog 阻塞队列及其原理

    java基础 0 1.什么是阻塞队列 阻塞队列是一个在队列基础上又支持了两个附加操作的队列。2.支持阻塞的插入方法:队列满时,队列会阻塞插入元素的线程,直到队列不满。1.支持阻塞的移除方法:队列空时,获取元素的线程会等待队列变为非空。2.阻塞队 252
  • blog java序列化和反序列化

    java基础 0 概念:Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程;序列化:对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。序列化是把对象转换成有序字节流,以 245
  • blog 初识javaagent技术

    java基础 1 JavaAgent 是运行在 main方法之前的拦截器,它内定的方法名叫 premain ,也就是说先执行 premain 方法然后再执行 main 方法。Javaagent 只要作用在class被类加载器加载之前对其加载,并且可以修改类的 235
  • blog 初步探究cglib动态代理的原理

    java基础 0 初步探究cglib动态代理的原理之前我们说了一下jdk动态代理的原理 http://www.jiajiajia.club/weblog/blog/artical/60本章说一下cglib动态代理,做个笔记1.按照国际惯例,先来个HelloW 238
  • blog java数据类型

    java基础 0 java数据类型java数据类型基本数据类型数值型整数类型(byte,short,int,long)浮点类型(float,double)字符型(chart)布尔型(boolean)引用类型类(class)接口(interface)数组byt 233
  • blog 初步探究jdk动态代理的原理

    java基础 7 初步探究jdk动态代理1.先看代码实现package club.jiajiajia.test.staticproxy;public interface BuyHouse { void buyHosue();//买房子}package 202
  • blog asm生成switch语句方法

    java基础 0 1.jar包:2.原java文件:package club.jiajia.test3;public class Examp3 { public int method(int a){ switch (a) { case 123: 230
  • blog java线程池

    java基础 0 为什么用线程池:1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率2.线程并发数量过多,抢占系统资源从而导致阻塞3.对线程进行一些简单的管理ThreadPoolExecutor线程池ThreadPoolEx 224
  • blog 线程之间的通讯

    java基础 0 1.什么是线程通信 线程之间通信的两个基本问题是互斥和同步。 线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。2.syn 223
  • blog asm实例对象方法的调用

    java基础 0 asm实例对象方法的调用1.需要的jar包2.我们需要通过asm生成的目标类如下:package club.jiajia.test3;public class Examp5 { public int method(){ Abc a=new 223
  • blog java定时器

    java基础 0 定时执行(一秒后执行)import java.util.Timer;import java.util.TimerTask;/** * 定时器 */public class Main3 { public static void ma 215
  • blog Java运算符&,&&,|,||,^,<<,>>,~,>>>

    java基础 0 1. &(按位与[位运算]) /*** * 结果:2 */ @Test public void test1() { in 204
  • blog java集合之ArrayList

    java基础 1 ArrayList的实现是一个动态数组,从源码中也可以看出。这就决定了他的查找效率高,可以直接通过下标访问。但是对于删除和增加元素,需要大量的移动元素,所以插入和删除的效率就很低。ArrayList不是线程安全的,只能用在单线程环境下,多线 199