自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Chopain的博客

努力向上的学渣

  • 博客(10)
  • 收藏
  • 关注

原创 网站推荐相关排序问题(4种)

1、2、时间B为固定值,t为至今减去B的值。x为赞踩差值。3、考虑到了问题的浏览数量,回答数量还有赞踩数量带来的影响4、考虑到有效的投票人数v和最低投票人数m,防止某一部冷门电影只有一个人评论而导致评分排名过高5、可以了解一下Rating的匹配排名算法...

2018-05-06 11:32:42 283

原创 多线程学习-有序性

Java内存模型中,允许编译器和处理器对指令进行重排序,但是重排序过程不会影响到单线程程序的执行,却会影响到多线程并发执行的正确性volatile、synchronized、Lockhappens-before原则:先行发生原则程序次序规则:一个线程内,按照代码顺序,书写在前面的操作先行发生于书写在后面的操作锁定规则:一个unLock操作先行发生于后面对同一个锁的lock操作volatile变量规...

2018-04-15 16:50:23 329

原创 多线程学习-可见性

可见性导致共享变量在线程间不可见的原因:                线程交叉执行                重排序结合线程交叉执行                共享变量更新后的值没有在工作内存与主内存之间刷新可见性----synchronized            JMM关于synchronized的两条规定:                线程解锁前,必须把共享变量的最新之刷新到主...

2018-04-15 16:35:37 147

原创 多线程学习-原子性(2)-synchronized

Synchronized==============修饰代码块和修饰方法的作用一样,各调用对象之间互不影响=======================================修饰静态方法和修饰类的作用是一致的,相当于原子操作,同一时间只有一个线程可以执行=========原子性-对比    synchronized:不可中断锁,适合竞争不激烈,可读性好    Lock:可中断锁,多样化同...

2018-04-15 16:14:07 158

原创 多线程学习-原子性(1)-Atomic

记录自己基于SpringBoot对多线程并发进行学习一.准备工作配置SpringBoot,在GIT上创建项目,将创建导入本地测试Spring是否启动成功,测试是否返回test写了4个annotations,用来表示安全和不安全,推荐和不推荐写法其中使用了lombok二.正式开始线程安全性    定义:当多个线程访问某个类时,不管运行时环境采用何种调度方式,或者这些进程将如何交替执行,并且在主调代码...

2018-04-11 21:13:09 181

原创 IO流复习提醒

第一天 File类1.File类静态成员变量2.File类的三种构造3.File类常用方法4.list()和listFiles()方法5.FileFilter过滤器与listFiles()的联合使用6.递归遍历目录第二天 字节流(适合所有)1.FileInputStream2.FileOutputStream文件的续写 :①构造函数加true ②append()函数3.加缓冲字节数组 n...

2018-03-22 23:06:28 135

原创 类加载器

一、类加载器图(1)启动类加载器(Bootstrap ClassLoader):负责加载存放在JDK/jre/lib下,或者被-Xbootclasspath参数指定的路径中的,并且能够被虚拟机识别的类库;(2)扩展类加载器(Extension ClassLoader):负责加载JDK/jre/lib/ext目录中,或者由java.ext.dirs系统变量指定的路径中的所有类库,开发者可以直接使用扩...

2018-03-15 14:34:37 144

原创 JVM类加载机制

在JVM运行时数据区之前,首先会将源码文件通过类加载器进行加载JVM运行时数据区链接:http://blog.csdn.net/qq_41329373/article/details/79478867一、类的加载机制1、类的声明周期(1)加载、连接(验证、准备、解析)、初始化、使用和卸载(2)注意:解析阶段在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定。另外这几个阶段是...

2018-03-08 18:05:17 115

原创 JVM运行时数据区

一、JVM运行时数据区数据共享区方法区 Method Area(运行时常量池(1.8以后存在于堆中))堆 Heap数据私有区虚拟机栈    VM Stack       ---->栈帧(局部变量表,操作数栈,动态链接,返回地址)本地方法栈    Native Method Stack程序计数器    Program Counter Register二、数据共享区    1、方法区      ...

2018-03-08 00:31:37 117

原创 进程的死锁,以及银行家算法

死锁产生的原因:    1、系统资源不足;    2、进程运行推进的顺序不合适;    3、资源分配不当等。死锁产生的四个必要条件:1、互斥条件:一个资源每次只能被一个进程使用2、请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放3、不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺4、循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系--------------...

2018-03-07 20:36:45 196

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除