Java相关
Java相关
HKF~~
这个作者很懒,什么都没留下…
展开
-
java代理
静态代理:简单代理模式,是动态代理的理论基础。常见使用在代理模式class SysOut { public void sout() { System.out.println(111); }}class SysOutProxy { private final SysOut sysOut; SysOutProxy(SysOut sysOut) { this.sysOut = sysOut; } public void原创 2021-10-29 17:57:30 · 137 阅读 · 0 评论 -
Java反射
Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;这种动态获取信息以 及动态调整对象方法的功能称为 java 语言的反射机制。package top.hkf.hblog; import java.lang.reflect.Field;import java.lang.reflect.Method; public class ReflectDemo { public static void main(String[] args) thro...原创 2021-07-02 11:19:11 · 111 阅读 · 0 评论 -
Java基本数据类型
数据类型 类型 存储大小 范围 默认值 包装类 整数型 int 4 字节(32 位) -2^31~2^31-1 0 Integer 整数型 short 2 字节(16 位) -2^15~2^15-1 0 Short 整数型 long 8 字节(64 位) -2^63~2^63-1 0 Long 整数型 byte 1 字节(8 位) -128~127原创 2021-07-01 21:18:02 · 78 阅读 · 0 评论 -
创建线程的方式
publicclassThreadTestextendsThread{ publicstaticvoidmain(String[]args){ //第一种 ThreadTestthreadTest=newThreadTest(); threadTest.start(); //第二种 newThread(newRunnableTest(...原创 2021-07-01 21:13:24 · 81 阅读 · 0 评论 -
多线程练习
线程循环打印ABC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36原创 2021-07-01 21:11:23 · 134 阅读 · 0 评论 -
多线程工具
CountDownLatchCountDownLatch是java.util.concurrent包下一个同步工具类,用来协调多个线程之间的同步。这个工具通常用来 控制线程等待,它可以让某一个线程等待直到倒计时结束,再开始执行。利用它可以实现类似计数器的功能。比如 有 一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种 功能了。CountDownLatch一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程...原创 2021-07-01 21:10:05 · 410 阅读 · 0 评论 -
类加载机制
1.类加载阶段JVM类加载机制分为加载->连接(验证\准备\解析)->初始化->使用->卸载五个部分。1.1加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法 区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,这里既可以从ZIP包中读取(比如从jar包和war包中读取),也可以在运行时计算生成(动态代理), 也可以由其它文件生成(比如将JSP文件转换成对 应的...原创 2021-07-01 21:09:08 · 127 阅读 · 0 评论 -
java对象的克隆
class Test extends Object { public static void main(String[] args) throws CloneNotSupportedException { Person perSon = new Person(); perSon.setAge(1); perSon.setName("张三"); Person personClone = (Person) perSon.clone(.原创 2021-06-07 14:43:55 · 122 阅读 · 0 评论 -
java泛型
import java.util.ArrayList;import java.util.List;/** * @author huikf * @since 2021/6/7 10:24 */public class MyTest<T> extends Sss { private T t; public T getT() { return t; } public void setT(T t) { this.t ..原创 2021-06-07 11:07:27 · 85 阅读 · 0 评论 -
java8 Stream分页
基于Stream的分页@TestpublicvoidcontextLoads(){Listlist=newArrayList(Arrays.asList(1,2,3,4,5,6,7,8,9,10));IntegerpageSize=4;IntegerpageNum=1;filterByPage(list,pageNum,pageSiz...原创 2019-11-06 09:27:57 · 2112 阅读 · 1 评论 -
java集合(Set)
HashSet总结:元素的哈希值是通过元素的hashcode方法 来获取的, HashSet首先判断两个元素的哈希值,如果哈希值一样,接着会比较equals方法 如果 equls结果为true ,HashSet就视为同一个元素。如果equals 为false就不是同一个元素。哈希值相同equals为false的元素是怎么存储呢,就是在同样的哈希值下顺延(可以认为哈希值相同的元素放在一个哈...原创 2018-03-15 19:24:14 · 166 阅读 · 0 评论 -
java集合(List)
/*List:可重复集,并且有序可以根据数组下标操作元素常用实现类:ArrayList:使用数组实现,查询更快;线程不安全的。vector:线程安全的LinkedList:使用链表实现,增删更快.首尾增删快*/public class List0 { public static void main(String[] args) { List<Stri...原创 2018-08-18 16:24:28 · 173 阅读 · 0 评论 -
java集合(Map)
public class Map1 { public static void main(String[] args) { Map<Integer, String> map = new HashMap<Integer, String>(); /* V put(K k,V v)将给定key-value存入到map中 ...原创 2018-08-18 16:28:33 · 188 阅读 · 0 评论 -
Synchronized
synchronized 关键字底层原理属于 JVM 层面。原理如下:① synchronized 同步语句块的情况publicclassSynchronizedDemo{ publicvoidmethod(){ synchronized(this){ System.out.println("synchronized代码块"); } }}...原创 2019-10-27 11:30:53 · 172 阅读 · 0 评论