![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java基础知识
文章平均质量分 56
线程 juc 反射 等
Andrew0219
Boring but improved
展开
-
java基础函数
它能够处理所有字符串数据类型(BIT、BLOB 和 CHARACTER),并返回布尔值以指示一个字符串是否包含在另一个字符串中。如果字符串以指定的前缀开始,则返回 true;否则返回 false。原创 2022-12-08 15:05:37 · 241 阅读 · 0 评论 -
Json Gson类型转换
字段AA 值[“1”,“2”] 类型 test。转完之后的结果为[1,2]原创 2022-12-01 16:55:20 · 188 阅读 · 0 评论 -
IDEA项目Application.yml前面图标变成绿叶图标的解决方法
然后去Modules-> spring -> xxxApplication -> 绿叶图标 -> 输入。如果你两个文件(Spring和Web)都没有的话证明你是没有引入web依懒。在pom.xml文件中引入即可。原创 2022-10-24 15:11:43 · 2859 阅读 · 0 评论 -
定时任务@Scheduled基本使用和概念
要使用@Scheduled注解,首先需要在启动类添加@EnableScheduling,启用Spring的计划任务执行功能,这样可以在容器中的任何Spring管理的bean上检测@Scheduled注解,执行计划任务比如”)表示每天的凌晨零点开始定时执行任务。原创 2022-10-21 15:31:45 · 5537 阅读 · 1 评论 -
CAS及ABA问题
目录浅谈CAS方法浅谈CAS方法compareAndSet(100,200);比较当前内存和主内存的值,如果是期望值则执行操作,不然就一直循环CAS缺点1.循环会耗时2.一次性只能保证一个共享变量的原子性3.产生ABA问题另一个方法值加一 在内存中进行所以更快 atomicInteger.getAndIncrement();public class CASDemo { public static void main(String[] args) { Atom原创 2021-08-23 16:02:42 · 115 阅读 · 0 评论 -
单例模式详解
目录单例模式概念饿汉式懒汉式懒汉式单线程模式DCL懒汉式(多线程双重锁模式)单例模式概念保证了内存中只有一个对象饿汉式一上来就加载对象有可能会浪费内存//饿汉式单例public class Hungry { //可能会浪费空间 private byte[] a1 = new byte[1024*1024]; private byte[] a2 = new byte[1024*1024]; private byte[] a3 = new byte[1024*原创 2021-08-20 17:26:13 · 103 阅读 · 0 评论 -
JMM以及Volatile机制
111原创 2021-08-20 11:12:20 · 109 阅读 · 0 评论 -
Stream流
Stream方法有很多,现在举一个小例子来说明/** * 题目要求:现在有5个用户!筛选: * 1、ID必须是偶数 * 2、年龄必须大于23岁 * 3、用户名转为大写字母 * 4、用户名字母倒着排序 * 5、只输出一个用户! */public class stream { public static void main(String[] args) { User u1 = new User(1,"a",21); User u2 = new User原创 2021-08-19 14:50:36 · 97 阅读 · 0 评论 -
四大原生函数式接口
文章目录概念函数型接口function概念函数型接口function<T,R>(有传值有返回值)public class fun { public static void main(String[] args) { Function function = new Function<String,String>(){ @Override public String apply (String str){原创 2021-08-19 11:14:04 · 112 阅读 · 0 评论 -
集合线程安全问题
集合线程安全问题List不安全用CopyOnWriteArrayList解决CopyOnwrite 写入时复制,计算机程序设计领域的一种优化策略;多个线程调用的时候,List,读取的时候,固定的,写入(覆盖)在写入的时候避免覆盖,造成数据问题!读写分离CopyOnWriteArrayList 比 Vector 好在哪里?Vector用了锁 拖慢进程public class Test1 { public static void main(String[] args) {原创 2021-08-18 17:30:43 · 112 阅读 · 0 评论 -
深入理解synchronized 八锁现象
文章目录深入理解synchronized 八锁现象(2-7的第一个方法都延迟四秒)同一对象1.同一对象的两个线程,调用一个类的两个加锁方法2.同一对象的两个线程,调用一个类的两个加锁方法,在第一个加锁方法上加上等待4秒3.同一对象的两个线程,调用一个类一个加锁方法一个不加锁方法,其中加锁方法等待4秒5. 同一对象两个线程,调用一个类的两个加锁静态方法,第一个加锁方法等待四秒7.同一对象两个线程,调用一个类的一个加锁静态方法,第二个方法是普通加锁方法,第一个加锁方法等待四秒两个对象4.两个对象,各调用同一个类原创 2021-08-18 17:28:13 · 207 阅读 · 0 评论 -
线程池常用方法
文章目录线程池Executors工具类(三大方法)线程池Executors工具类(三大方法)ExecutorService pool1 = Executors.newSingleThreadExecutor();//单个线程ExecutorService pool2 = Executors.newFixedThreadPool(5);//创建一个固定线程池大小ExecutorService pool3 = Executors.newCachedThreadPool();//自动伸缩,遇强则强原创 2021-08-18 16:12:11 · 407 阅读 · 0 评论 -
JUC并发编程 常用锁 三个辅助类的使用
1原创 2021-08-12 17:17:39 · 152 阅读 · 0 评论 -
JAVA基础之反射(Reflection)
获得Class类的实例的多种方法public class test1 { public static void main(String[] args) throws ClassNotFoundException { Person person = new Student(); System.out.println("这个人是"+person.name); //方法一:通过对象获得 Class a1 = person.getClas原创 2021-08-11 11:45:05 · 127 阅读 · 0 评论 -
java多线程的三种创建方式及常用方法和锁使用
概念process 进程 thread线程程序是静态的,是指令和数据的有序结合进程是执行程序的一次过程是系统资源分配的单位线程是CPU执行和调度的单位创建线程的三种方法方法一(不建议使用,OOP单继承局限性)继承thread类,重写run方法,main主函数调用start开启线程//继承thread类public class thread extends Thread{@Override//重写run方法public void run() {原创 2021-08-06 11:32:48 · 314 阅读 · 0 评论 -
静态代理模式详解
先看一段很简单的代码public class first { public static void main(String[] args) { company company = new company(new you()); company.HappyMarry(); }}interface Marry{ void HappyMarry();}//真实角色,you结婚class you implements Marry{ @原创 2021-08-05 16:48:35 · 90 阅读 · 0 评论