CountDownLatch模拟田径赛跑

得一面试题,正好用来练手 现有一场田径比赛,共有8个选手参赛。他们编号分别为: A,B,C,D,E,F,G,H; 赛事观察员分别在开始后 20s和30s拍下两张照片,各个选手的排名情况如下, 20s:F,A,H,G,C,B,E,D;30s:G,H,A,C,F,D,B,E;请你写出一个程序,...

2019-07-19 01:23:18

阅读数 43

评论数 0

《Java高并发编程详解-多线程架构与设计》Java Classloader

摘自《Java高并发编程详解-多线程架构与设计》第九章 p144-p157 重点: 1.连接-准备阶段为静态变量赋初值,初始化阶段为静态变量赋代码值 2.引起初始化阶段的6种情况(主动引用),静态变量/方法,new,反射,子类引起父类。以及被动引用,如静态常量。其值opy到被引用的类。 3.类加...

2019-07-14 20:24:59

阅读数 17

评论数 0

SpringMVC中的RootWebApplicationContext与ServletWebApplicationContext

RootWebApplicationContext以下简称RootAC ServletWebApplicationContext以下简称ServletAC 简介 Web on Servlet Stack 1.1.1. Context Hierarchy中描述到了SpringMVC中两个WebApp...

2019-07-11 16:34:58

阅读数 48

评论数 0

栈应用-中缀表达式转后缀表达式并计算值

表达式的三种形式: 中缀表达式:运算符放在两个运算对象中间,如:(2+1)*3。我们从小做数学题时,一直使用的就是中缀表达式。 后缀表达式:不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则),如:2 1 + 3 。又比如3+(6-4...

2019-07-10 14:42:07

阅读数 8

评论数 0

《Java高并发编程详解-多线程架构与设计》线程间的通信

摘自《Java高并发编程详解-多线程架构与设计》第五章 同步、异步、阻塞、非阻塞概念 同步和异步 结果的通知机制。自己问还是别人通知。 同步:主动等待结果的返回。如阻塞等待,轮询(同步非阻塞)。 异步:被动等待结果的返回。如 消息回调。 阻塞和非阻塞 结果返回以前,调用方的状态。等还是不等。 阻...

2019-07-07 16:30:44

阅读数 25

评论数 0

《Java高并发编程详解-多线程架构与设计》线程安全与数据同步

定义 共享资源:多个线程对同一资源访问(读写) 线程安全:多个线程对同一资源访问的数据是一致的。 Synchronized使用 同步方法 同步代码块 深入 synchronized关键字 p66-67 不应该叫synchronized(mutex)为锁,而应该是某个线程获取了与mutex关联的mo...

2019-07-07 16:14:43

阅读数 22

评论数 0

《Java高并发编程详解-多线程架构与设计》Thread API

摘自《Java高并发编程详解-多线程架构与设计》第三章 1.sleep不会释放monitor锁的所有权 2.使用TimeUnit.XX.sleep代替Thread.sleep 3.yield让出CPU资源 4.yield与sleep的区别 jdk1.5之前 yield 实际调用sleep(0)...

2019-07-07 16:08:54

阅读数 21

评论数 0

OneNote键盘流-个人整理的一些快捷键

【Ctrl+z/y】 撤销与重做 【Ctrl+Alt+D】 停靠桌面。 先左右分屏再停靠 【Ctrl+M】 打开新的OneNote窗口 【F11】 阅读模式,点右上角的选项,可以查看笔记本、分区 【F11+前端显示+小区域】 用来做待办事项。或者 【珍-群开笔记本-以便签方式打...

2019-06-30 12:37:45

阅读数 84

评论数 0

线程oom后进程里其他线程还能运行吗?

参考 【原创】一个线程oom,进程里其他线程还能运行吗? 结论 线程OOM不会影响其他线程运行。 原因 OOM异常发生于具体的线程上,受影响的线程局限于抛出异常的线程。且OOM后,受影响的线程因异常而退出,只被该线程所持有的资源不可达后,GC自动回收资源。 效果如图 启动参数-XX:+Print...

2019-06-28 01:23:44

阅读数 36

评论数 0

mysql行锁等待分析

总结原因 程序通过UPDATE XX SET WHERE ID IN (a,b,c) 一次性锁大量id,其中某些id被其他session锁住了。当超过innodb_lock_wait_timeout会try restarting transaction 现象 早上来到公司检查公司邮件,发现报错邮件...

2019-06-26 11:33:11

阅读数 49

评论数 0

minor GC 、 full GC、新生代(young )、老年代(old)的一些理解

Minor GC Minor GC是俗称,新生代(新生代分为一个 Eden区和两个Survivor区)的垃圾收集叫做 Minor GC。 清除 Eden 和 from ,转到to中。接下来from与to转换。继续清除 Eden和新from,转到to。清除一次后存活超过年龄的 ,转到老年代。to到了...

2019-05-30 23:02:12

阅读数 27

评论数 0

对Java内存模型的一些理解

线程私有:程序计数器、虚拟机栈、本地方法栈 程序计数器:记录了程序执行的字节码的行号和指令,方便线程切换。 虚拟机栈 :局部变量表(原生类型、引用类型),方法调用栈 --平时说的栈。可抛出StackOverflowError异常和OutOfMemoryError 本地方法栈则是为虚拟机执行Na...

2019-05-30 22:44:04

阅读数 8

评论数 0

导入mysql文件提示“ASCII '\0' appeared in the statement”

我的解决方法是 将无bom头的UTF-8添加上bom头信息: sublime-file-save with encoding - utf-8 with bom 其他解决方法 https://blog.csdn.net/github_38885296/article/details/7853631...

2019-04-30 10:47:45

阅读数 133

评论数 0

ThreadLocal为什么会内存泄漏

转自https://www.jianshu.com/p/a1cd61fa22da thewindkee个人总结:如果线程使用线程池或者Thread长时间不会消亡,其内部的threadLocalMap也一直存在。而thread.threadLocalMap.set(threadLocal,valu...

2019-04-18 23:04:40

阅读数 38

评论数 0

《Java程序性能优化》3.3 使用NIO提升性能(未完)

p:102-118 流与NIO的不同 流以字节为单位,NIO基于块(block)为单位。 channel是双向的通道。stream是单向的。 NIO组件 NIO两个重要组件:通道channel和缓冲buffer 通道表示缓冲数据的源头或者目的地。 缓冲是一块连续的内存, 是NIO读写数据的中转地。...

2019-04-18 14:14:51

阅读数 41

评论数 0

centos7服务器初始配置

!增强VPS SSH账号安全:改端口,禁用Root,密钥登录,Denyhosts防暴力攻击 1.防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 ...

2019-04-09 20:51:52

阅读数 58

评论数 0

《Docker技术入门与实践》Docker入门5 使用私有仓库

基于容器运行 拉取registry容器 sudo docker pull registry 运行registry容器被指定仓库路径 sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry ...

2019-04-02 17:03:27

阅读数 58

评论数 0

【JavaScript高级程序设计】读书笔记-第4章function

函数内部属性 :arguments、callee、caller、prototype 以及方法call和apply等。 arguments:arguments对象是所有(非箭头)函数中都可用的局部变量。你可以使用arguments对象在函数中引用函数的参数。此对象包含传递给函数的每个参数,第一个参数...

2019-03-23 16:53:05

阅读数 53

评论数 0

【JavaScript高级程序设计】读书笔记-第6章 创建对象

js 的构造函数 和普通函数没多少区别。只是叫法和使用问题。 构造函数 的函数名 推荐大写开头, 这是为了区别其他普通函数。因为构造函数也是普通函数,只是能因为new创建对象而已。— 真正起作用的其实是new与this new:可以新建一个对象,当 使用new的时候, 就把函数当做【构造函数】,构...

2019-03-23 16:13:03

阅读数 18

评论数 0

《Docker技术入门与实践》Docker入门4-使用Dockerfile创建镜像

Dockerfile基础 Dockerfile分四部分组成: 基础镜像、维护者信息、镜像操作指令、启动时命令 ps: 我的本地镜像已经有centos,若没有请使用docker pull centos 入门例子 创建Dockerfile文件 cd temp &...

2019-03-14 18:44:00

阅读数 1404

评论数 6

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