摘要: 问题描述:有三个线程顺序打印abc十次,请用线程同步实现。 1. synchronized锁 + 状态位 package com.fll.juc.interviews; public class ThreadPrintABCSequential implements Runnable{ /** * 阅读全文
posted @ 2021-03-02 09:35 方罗良 阅读(440) 评论(0) 推荐(0)
摘要: 1.JMM介绍: Java内存模型规定了所有的变量都存储在主内存(Main Memory)中,每条线程还有自己的工作内存(Working Memory), 线程的工作内存中保存了被该线程使用的变量的主内存副本,线程对变量的所有操作(读取、赋值等)都必须在工作内存中进行,而不能直接读写主内存中的数据。 阅读全文
posted @ 2021-02-26 10:54 方罗良 阅读(65) 评论(0) 推荐(0)
摘要: Java堆 堆结构图: Java8将永久代换成了元空间。 新生区 新生区是类的诞生、成长、消亡的区域,一个类在这里产生,应用,最后被垃圾回收器收集,结束生命。 新生区又分为两部分: 伊甸区(Eden space)和幸存者区(Survivor pace) ,所有的类都是在伊甸区被new出来的。 幸存区 阅读全文
posted @ 2021-02-25 18:05 方罗良 阅读(231) 评论(0) 推荐(0)
摘要: (ps:有颜色的代表线程共享,存在垃圾回收;无颜色代表线程私有,不存在垃圾回收情况。) 类加载器 ClassLoader 1.ClassLoader 介绍 ClassLoader 是一个java执行时的系统组件,主要负责加载Class字节码文件,相当于快递员。 2.ClassLoader 分类 JV 阅读全文
posted @ 2021-02-20 14:19 方罗良 阅读(171) 评论(0) 推荐(0)
摘要: 安装VIM: ubuntu系统: 普通用户下输入命令:sudo apt-get install vim-gtk centos系统: 普通用户下输入命令:yum -y install vim* 配置VIM: sudo vim /etc/vim/vimrc shift+g跳转到文件最后一行: set n 阅读全文
posted @ 2021-02-08 17:45 方罗良 阅读(83) 评论(0) 推荐(0)
摘要: 计算机内部对二进制进行运算用的是补码 原码: +3 >>> 0000 0011 第一位是符号位,0代表正数,1代表负数 反码:负数的反码 保留符号位,其余按位取反 -3 >>> 1000 0011(原码)>>> 1111 1100(反码) 补码:负数的补码是反码+1 -3 >>> 1000 0011 阅读全文
posted @ 2021-02-08 17:39 方罗良 阅读(2627) 评论(0) 推荐(0)
摘要: 1.什么是redis? Redis(Remote Dictionary Server),即远程字典服务器,是一个开元的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。 2.redis持久化 mdb 和 aof 3.redis常用数据结构 5种 string 阅读全文
posted @ 2021-02-08 17:32 方罗良 阅读(49) 评论(0) 推荐(0)
摘要: 0.代理的概念: 代理模式(Proxy)是通过代理对象访问目标对象,这样可以在目标对象基础上增强额外的功能,如添加权限,访问控制和审计等功能。 1.静态代理: 优点:静态代理模式在不改变目标对象的前提下,实现了对目标对象的功能扩展。 不足:静态代理实现了目标对象的所有方法,一旦目标接口增加方法,代理 阅读全文
posted @ 2021-02-08 17:28 方罗良 阅读(85) 评论(0) 推荐(0)
摘要: centos 7 安装 mysql 查看是否安装:rpm -qa | grep mysql 卸载命令:rpm -e mysql // 普通删除模式 rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除 wget 阅读全文
posted @ 2021-02-08 17:09 方罗良 阅读(40) 评论(0) 推荐(0)