首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JAVA/JVM核心技术
Andya
创建于2022-11-19
订阅专栏
针对Java核心技术、jvm技术等做学习总结
等 9 人订阅
共66篇文章
创建于2022-11-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Java—CountDownLatch使用详解
CountDownLatch一般用作多线程倒计时计数器,强制它们等待其他一组(CountDownLatch的初始化决定)任务执行完成。 有一点要说明的是CountDownLatch初始化后计数器值递减到0的时候,不能再复原的,这一点区别于Semaphore,Semaphore是…
Java—基于Fastjson的JSON串序列化和反序列化模板总结
关注微信公众号:CodingTechWork,一起学习进步。 开发中经常遇到前端传递过来的JSON串的转换,后端需要解析成对象,有解析成List的,也有解析成Map的。 我们对Fastjson并不陌生,Fastjson 是阿里巴巴的开源JSON解析库。Fastjson可以看解析…
Java—List集合详解
List集合是一个元素有序(每个元素都有对应的顺序索引,第一个元素索引为0)、且可重复的集合。 List是Collection接口的子接口,拥有Collection所有方法外,还有一些对索引操作的方法。 void replaceAll(UnaryOperator<E> oper…
Java——volatile关键字详解
volatile是比synchronized关键字更轻量级的同步机制,访问volatile变量时不会执行加锁操作,因此不会使执行线程阻塞。 volatile保证可见性和禁止指令重排序,底层是通过“内存屏障”来实现,但不保证原子性。 写入volatile变量相当于退出同步代码块,…
Java—通过sign签名认证实现安全的开放接口API
关注微信公众号:CodingTechWork,一起学习进步。 @[toc] 引言 在开发Java API时,有可能需要一些安全认证来保证API的安全性。下面,我们通过timestamp以及sign
Java—synchronized和ReentrantLock锁详解
synchronized机制提供了对每个对象相关的隐式监视器锁,并强制所有锁的获取和释放都必须在同一个块结构中。当获取了多个锁时,必须以相反的顺序释放。即synchronized对于锁的释放是隐式的。 synchronized同步块对于同一条线程是可重入的,不会出现把自己锁死的…
Java—反射机制实战及动态代理总结
引言 反射在Java技术应用中是老生常谈的事了,我们每次都是知道个皮毛,这个反射可以动态获取类的信息,比如类的属性和方法,但是在平时疯狂写CURD业务代码时,却很少关注或接触使用到反射机制。
Java—File类详解及实践
File类是java.io包下代表与平台无关的文件和目录。File可以新建、删除、重命名文件和目录,但是不能访问文件内容本身,如果需要访问内容的话,需要通过输入/输出流进行访问。 File类可以使用文件路径字符串创建File实例,路径既可以是绝对路径,也可以是相对路径。一般相对…
Java—多线程创建详解
关注微信公众号:CodingTechWork,一起学习进步。 定义:进程是一块包含了某些资源的内存区域,操作系统利用进程把它的工作划分为一些功能单元。(应用程序是由一个或多个相互协作的进程组成) 独立性:进程是系统中独立存在的实体,拥有独立的资源,每个进程私有地址空间,一个进程…
JAVA——两个List集合求交集、并集和差集(去重)模板
关注微信公众号:CodingTechWork,一起学习进步。 经常遇到一些集合类之间的过滤数据、求合集之类的问题,在此以List为例,毕竟在数据库中取数据后,我们使用比较多的是List集合进行操作。 如果使用了赋值方式,如list1 = list0,然后list1.retain…
JAVA——以ReentrantLock为例学习重入锁以及公平性问题
关注微信公众号:CodingTechWork,一起学习交流进步。 重入锁,顾名思义在于这个重字。开发过程中,我们在用到锁时,可能会用于递归的方法上加锁,此时,那同一个方法对象去重复加锁,是怎么加的呢?本文一起学习一下重入锁这个概念。 重入锁ReentrantLock,是指支持重…
Java—Java 8 新增特性详解(Predicate和Stream)
Predicate是函数式接口,可以使用Lambda表达式作为参数。Java 8为集合Collection新增了removeIf(Predicate filter)方法,可以批量删除符合filter条件的所有元素。 测试Collection的removeIf()方法。 从上述结…
Java—搞懂泛型详解和使用
泛型的出现还得从集合说起,没有泛型的时候,我们将一个对象存入集合时,集合不care这个对象的数据类型是什么,当我们再次从这个对象取出来的时候,对象的编译类型会变成Object类型,这时候我们就需要强制类型转换,但是这种行为每次都要去指定类型进行强制转换,并且有可能强制转换不了,…
JVM—Java对象是如何创建、存储和访问的?
关注微信公众号:CodingTechWork,一起学习进步。 Java程序员都知道如何创建对象,不就是一个Person person = new Person()的语句就解决了么?然而,我们只知道new,却对于底层如何实现对象的创建、如何存储到内存中去、又如何被访问的知之甚少。…
Java—线程的生命周期及线程控制方法详解
关注微信公众号:CodingTechWork,一起学习进步。 程序使用new关键字创建一个线程之后,该线程就处于新建状态,仅仅由Java虚拟机为其分配内存,并初始化其成员变量的值。不会执行线程的线程执行体。如Thread thread = new Thread()。 也称为“可…
Java—集合概述(Collection/Map)
在集合类之前,我们使用数组存储,数组既可以存储基本数据类型的值,也可以存储对象(对象的引用变量),但是集合只能存储对象。 Java集合类似于一种容器,将同类型的对象(实际为对象引用)存储在一起,就形成一个集合。之前的文章中,我们有介绍到,Java 5后增加了泛型,Java集合可…
Java—异或运算^的使用详解
关注微信公众号:CodingTechWork,一起学习进步。 引言 在代码中,我们经常看到一个运算符^,这个运算符叫做异或,相比较于与&和或|这些运算符更不容易记住,下面我们一起学习这个运算符的用
Java—Map集合详解
Map(也称为字典、关联数组)是用于保存具有映射关系的数据,保存两组值,key和value,这两组值可以是任何应用类型的数据。 Map的key不允许重复(底层Map的keySet()返回的是key的Set集合,所以key不会重复),即Map中对象的任意两个key通过equals…
JAVA—object映射转化为long类型方式
关注微信公众号:CodingTechWork,一起学习进步。 问题 开发过程中,有时候会遇到object类型转换时,出现java.lang.Integer cannot be cast to ja
JAVA—HTTP客户端警告:Going to buffer response body of large or unknown size.
关注微信公众号:CodingTechWork,一起学习进步。 在修复原有代码bug时,发现日志里经常抛出Going to buffer response body of large or unknown size. Using getResponseBodyAsStream i…
下一页