01 2021 档案

摘要:package com.yanshu; /** * @author :yangyuanyuan * @description:TODO * @date :2021/1/28 16:39 * //普通代码块:{},每次创建对象之前都会执行。可以初始化类变量和实例变量 * //静态代码块:static{ 阅读全文
posted @ 2021-01-28 16:52 勤奋的园 阅读(98) 评论(0) 推荐(0)
摘要:1、volatile 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 2)禁止进行指令重排序(什么是指令重排序:是指CPU采用了允许 阅读全文
posted @ 2021-01-28 16:01 勤奋的园 阅读(93) 评论(0) 推荐(0)
摘要:1、Java 7和Java 8区别 Java 7堆结构 JDK 1.8之后将最初的永久代取消了,由元空间取代。 在Java8中,永久代已经被移除,被一个称为元空间的区域所取代。元空间的本质和永久代类似。 元空间与永久代之间最大的区别在于: 永久带使用的JVM的堆内存,但是java8以后的元空间并不在 阅读全文
posted @ 2021-01-27 18:26 勤奋的园 阅读(306) 评论(0) 推荐(0)
摘要:package com.atguigu.juc1205; import java.util.concurrent.TimeUnit; class Phone//Phone.java > Phone.class Class.forName(); { public static synchronized 阅读全文
posted @ 2021-01-26 16:53 勤奋的园 阅读(184) 评论(0) 推荐(0)
摘要:1、Heap堆(Java7之前) 一个JVM实例只存在一个堆内存,堆内存的大小是可以调节的。类加载器读取了类文件后,需要把类、方法、常变量放到堆内存中,保存所有引用类型的真实信息,以方便执行器执行,堆内存分为三部分: Young Generation Space 新生区 Young/New Tenu 阅读全文
posted @ 2021-01-26 16:32 勤奋的园 阅读(407) 评论(0) 推荐(0)
摘要:package com.yanshu; /** * @author :yangyuanyuan * @description:TODO * @date :2021/1/25 13:47 */ class Person { private Integer id; private String pers 阅读全文
posted @ 2021-01-25 14:30 勤奋的园 阅读(75) 评论(0) 推荐(0)
摘要:package com.yangyuanyuan.juc1205; import java.util.List; import java.util.Map; import java.util.Set; import java.util.UUID; import java.util.concurren 阅读全文
posted @ 2021-01-25 11:31 勤奋的园 阅读(177) 评论(0) 推荐(0)
摘要:package com.yangyuanyuan.juc1205; @FunctionalInterface interface Foo { //public void sayHello(); public int add(int x,int y); default int mul(int x,in 阅读全文
posted @ 2021-01-25 11:26 勤奋的园 阅读(75) 评论(0) 推荐(0)
摘要:package com.yangyuanyuan.juc1205; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; class Ticket //资源类 = 实例变量+实 阅读全文
posted @ 2021-01-24 11:47 勤奋的园 阅读(155) 评论(0) 推荐(0)
摘要:现在两个线程,可以操作初始值为零的一个变量,实现一个线程对该变量加1,一个线程对该变量减1,实现交替,来10轮,变量初始值为零。 package com.yangyuanyuan.juc1205; import java.util.concurrent.locks.Condition; import 阅读全文
posted @ 2021-01-24 10:49 勤奋的园 阅读(651) 评论(0) 推荐(0)
摘要:多线程之间按顺序调用,实现A->B->C三个线程启动,要求如下:A打印5次,B打印10次,C打印15次接着 A打印5次,B打印10次,C打印15次 来10轮 package com.yangyuanyuan.juc1205; import java.util.concurrent.locks.Con 阅读全文
posted @ 2021-01-22 18:11 勤奋的园 阅读(151) 评论(0) 推荐(0)
摘要:1、继承Thread类 public class MyThread extends Thread { public MyThread() { } public void run() { for(int i=0;i<10;i++) { System.out.println(Thread.current 阅读全文
posted @ 2021-01-22 15:29 勤奋的园 阅读(261) 评论(0) 推荐(0)
摘要:JVM是运行在操作系统之上的,它与硬件没有直接的交互 下图运行时数据区灰色代表线程私有,亮色(方法区和堆)代表所有线程共享。 1、类装载器ClassLoader 负责加载class文件,class文件在文件开头有特定的文件标示,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行 阅读全文
posted @ 2021-01-22 11:12 勤奋的园 阅读(152) 评论(0) 推荐(0)
摘要:public enum State { /** * Thread state for a thread which has not yet started. */ NEW, /** * Thread state for a runnable thread. A thread in the runna 阅读全文
posted @ 2021-01-22 09:34 勤奋的园 阅读(59) 评论(0) 推荐(0)
摘要:<!DOCTYPE html> <html lang="zh-Hans"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http- 阅读全文
posted @ 2021-01-21 17:02 勤奋的园 阅读(456) 评论(0) 推荐(0)
摘要:原文地址:https://www.cnblogs.com/iyyy/p/7993788.html 两者区别: 1.首先synchronized是java内置关键字,在jvm层面,Lock是个java类; 2.synchronized无法判断是否获取锁的状态,Lock可以判断是否获取到锁; 3.syn 阅读全文
posted @ 2021-01-19 16:20 勤奋的园 阅读(119) 评论(0) 推荐(0)
摘要:Alt+Enter将光标放到缺少包的错误提示处自动导入包Ctrl+Alt+Space光标处会有会出现界面提示需要补全的信息也可以在new完对象后使用.var后将会自动补 Ctrl+O可以选择父类的方法进行重写foreach循环快速写法数组名.forfor循环快速写法数组名.fori快速生成类成员变量 阅读全文
posted @ 2021-01-13 15:19 勤奋的园 阅读(394) 评论(0) 推荐(0)