随笔分类 -  JDK基础

摘要:仅对本类可见——private 对所有类可见——public 对本包的所有子类可见——protected 对本包可见——默认(很遗憾)不需要修饰符 阅读全文
posted @ 2018-10-18 20:57 思考的胖头鱼 阅读(548) 评论(0) 推荐(0)
摘要:CAS有3个操作数。内存值V,旧的预约值A,要修改后的新值B。当且仅当预期值A和预期值V相同时,将内存值V修改为新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。 应用1.Atomic包 eg.AtomicInteger 它的增加和减少操作都是原子性的,不会出现多线程下的 阅读全文
posted @ 2018-10-11 09:52 思考的胖头鱼 阅读(1297) 评论(0) 推荐(0)
摘要:接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么? 接口: interface Animal { public void eat(); public void travel(); } 抽象类: /* 文件名 : Employee.java */ public abstract class 阅读全文
posted @ 2018-10-09 18:55 思考的胖头鱼 阅读(399) 评论(0) 推荐(0)
摘要:AQS同步组件 CountDownLatch(只有一个线程对他进行操作): 主线程必须在启动其它线程后立即调用await()方法。这样主线程的操作就会在这个方法上阻塞,直到其它线程完成各自的任务。 Semaphore: 控制某个资源可被同时访问的个数 CyclicBarriar: N个线程相互等待相 阅读全文
posted @ 2018-10-06 21:18 思考的胖头鱼 阅读(554) 评论(0) 推荐(0)
摘要:理解:通过thread创建局部变量,每个线程可以获得该变量的副本,再每个线程中操作该副本相互之间不产生影响。 解决:数据库连接 常规一个线程连接一个数据库是没有问题的,但是在高并发的情况下,可能线程一关闭数据库连接,线程而打开数据库连接,导致,数据库操作不能正常运行。 如果改成局部变量中,需要时连接 阅读全文
posted @ 2018-10-04 12:11 思考的胖头鱼 阅读(431) 评论(0) 推荐(0)
摘要:内存: 堆区 1.new的对象实例 ps:(java堆可以细分为新生代和老年代)(通过-xmx和-xms来实现可扩展) 虚拟机栈 局部变量 本地方法栈 为虚拟机使用的native方法服务 方法区 static变量、类信息、常量 程序计数器 当前线程所执行的字节码的行号指示器 怎么判断是不是垃圾: 引 阅读全文
posted @ 2018-09-24 21:57 思考的胖头鱼 阅读(271) 评论(0) 推荐(0)