
Java学习笔记
文章平均质量分 92
Mr-river
这个作者很懒,什么都没留下…
展开
-
java性能调优
java性能调优一、代码优化1、使用递归调用时,如果过多的调用容易造成java.lang.StackOverflowError即栈溢出和程序执行过慢。这是一个潜在Bug和影响程序执行效率问题,需要谨慎使用。原因:每次递归调用时会向栈中push当前方法的运行状态(现场),而Java栈内存的使用超过限制的大小时,程序会出现栈异常。2、及时关闭流。Java编程过程中,进行数据库连接、I/O 流操作...原创 2020-01-17 10:28:09 · 569 阅读 · 0 评论 -
Java并发编程:闭锁CountDownLatch之一起回家
一、CountDownLatch的特性 CountDownLatch也叫闭锁它是一个同步工具类,它的一个特性是:闭锁相当于一道门,所有线程都没到达之前,都是关闭状态的。直到所有的线程都完成各自的任务后,闭锁就会打开,并且一直处于打开状态。举个常见的例子来说,同学聚会,我们需要等到所有的人都到了,聚会才能开始。二、CountDownLatch实现原理 CountDownLatch是通过原创 2017-11-26 15:03:18 · 418 阅读 · 0 评论 -
java 之线程的控制
一、join线程Thread提供了join方法,该方法在某个程序执行流中被调用时,调用其他线程的join方法的线程将会被阻塞。直到join方法的线程执行完为止。 static class JoinThread extends Thread{ public JoinThread(String name){ super(name); }原创 2017-09-12 15:12:20 · 344 阅读 · 0 评论 -
java线程的生命周期
启动线程的正确方法是调用Thread的start(),而不是直接调用run(),否则就变成单线程程序了。调用了线程的run方法之后,线程已经不在处于新建状态了,不要再次调用线程对象的start()方法了。只能对处于新建状态的线程调用start(),否则引发IllegalThreadStateException。原创 2017-07-05 13:14:42 · 401 阅读 · 0 评论 -
java线程的创建和启动
一、继承Thread类public class MyThread extends Thread { private static volatile double d=1; @Override public void run() { while (d10){ d++; } } public static void main(String[] a原创 2017-06-07 15:03:12 · 343 阅读 · 0 评论 -
java使用反射生成JDK动态代理
在java的java.lang.reflect包下提供了一个Proxy类和InvocationHandler接口,通过使用这个类和接口可以生成JDK动态代理类或动态代理对象。Proxy类提供了两个方法:static Class getProxyClass( ClassLoader loader,Class … interfaces) : 创建一个动态代理类所对应的Class对象,该代理原创 2017-03-24 22:02:24 · 1028 阅读 · 0 评论 -
Java的反射机制
一、Class类的使用 类是对象,类是java.lang.Class类的实例对象 任何一个类都是Class的实例对象,这个实例对象的表示方式 三种表示方式 1.Class c1 = 类名.Class; 2.Class c2 = 对象.getClass(); 3.Class c3= Class.forName(“类全称”); c1、c2、c3我们称为该类的类类型 注意: 一个类只原创 2016-08-13 20:32:10 · 240 阅读 · 0 评论 -
Java之StringBuffer、StringBuilder、String的区别
1、String类的特点 String类对象有两种实例化方式: 直接赋值:开辟一块堆内存空间,可以自动入池; 构造方法:开辟两块堆内存空间,不会自动入池,使用intern()手动入池; 任何一个字符串都是String类的匿名对象; 字符串一旦声明则不可改变,可以改变的只是String类对象的引用。原创 2016-10-10 12:53:08 · 329 阅读 · 0 评论 -
Java线程同步的几种方式
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。1.同步方法 即有synchronized关键字修饰的方法。 由于java的每个对象都有转载 2016-07-29 23:30:25 · 731 阅读 · 0 评论