摘要:
一、实现多线程的方式:方式一:继承Thread类 a.自定义类继承Thread类 b.在自定义类中重写run()方法 c.创建自定义类的对象 d.启动线程的对象方式二:实现Runnable接口(大多数使用) a.自定义类实现Runnable接口 b.在自定义类中重写run()方法 c.创建自定义类的 阅读全文
摘要:
ConcurrentHashMap性能高于HashTable,都能够完成线程安全操作, Hashtable中线程安全使用synchronized同步方法进行加锁操作,如果当前一个线程正在访问该集合,其他线程是无法进行访问的,需要进行等待反之ConcurrentHashMap当中采用分段锁机制 JDK 阅读全文
摘要:
有可能问道你都知道哪些常用的Map集合? HashMap、HashTable、LinkedHashMap、ConcurrentHashMap。 Collection集合接口和Map接口有什么关系? 没关系,Collection是List、Set父接口不是Map父接口。 HashMap是线程安全的吗? 阅读全文
摘要:
1.单列集合List 1.1 Vector和ArrayList以及LinkedList区别和联系,以及分别的应用场景 线程安全: Vector:如果创建Vector时没有指定容量,则默认容量为10,底层基于数组实现,线程是安全的,底层采用synchronized同步方法进行加锁 /** * Adds 阅读全文
摘要:
User java.lang.Class 所有的类都是Class类的对象 类加载:由.java源文件编译生成.class二进制字节码文件,当运行时,首先Java虚拟机会将本地/网络阐传输.class文件加载到内存当中,那么加载的过程就叫做类加载 一.类加载的过程 加载过程:将.class文件通过IO 阅读全文
摘要:
3、代码优化 27: getstatic #12 // Field java/lang/System.out:Ljava/io/PrintStream; 30: aload_1 31: invokevirtual #11 // Method java/lang/StringBuilder.toStr 阅读全文
摘要:
一.字节码查看 将.java源文件编译成.class二进制字节码文件,运行该字节码文件 1.将class字节码文件内容输出到文本文件当中 javap -v xxx.class > xxx.txt 第一个部分: 显示生成class的java源文件的基本信息 Classfile /C:/Users/FL 阅读全文
摘要:
一、部署测试java web项目(压力测试环境搭建) 要想进行对Tomcat的性能进行优化,首先你要有一个部署在Linux之上的Tomcat服务,为了将场景模拟的更贴近真实的开发环境,在tomcat上部署一个可以访问数据库的项目 1、mysql环境 #切换到mysql目录 cd /usr/local 阅读全文
摘要:
一.生成GC日志 -XX:+UseG1GC 代表使用G1垃圾收集器 -XX:MaxGCPauseMillis=100 垃圾收集最大停顿时间 -Xmx256m 代表堆内存最大大小 -XX:+PrintGCDetails 输出GC详细信息 -XX:+PrintGCTimeStamps 打印GC时间戳 - 阅读全文