Wesley13 Wesley13
3年前
java 并发容器一之BoundedConcurrentHashMap(基于JDK1.8)
最近开始学习java并发容器,以补充自己在并发方面的知识,从源码上进行。如有不正确之处,还请各位大神批评指正。前言:本人个人理解,看一个类的源码要先从构造器入手,然后再看方法。下面看BoundedConcurrentHashMap的注释1  先看HashTable的介绍:    Thisclassimplementsahasht
Wesley13 Wesley13
3年前
JAVA并发之加锁导致的活跃性问题
首先提及一下前置知识:1.JAVA并发之基础概念(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fmp.weixin.qq.com%2Fs%2Fb8aX2DAICYQ05i1DI8SAmA)2.JAVA并发之进程VS线程(https://www.oschina.n
Wesley13 Wesley13
3年前
Java 并发数据结构
\TOCM\因为Java提供了一些非线程安全的数据结构如HashMap,ArrayList,HashSet等。所有在多线程环境中需要使用支持并发访问操作的数据结构。并发ListVector,CopyOnWriteArrayList是线程安全的List。ArrayList是线程不安全的。如果一定要使用,需要:Collection
Wesley13 Wesley13
3年前
JAVA优化篇 如何从茫茫日志中找到运行缓慢的线程
引入  JAVA提供了一些分析DUMP的工具,比如jmap,visualvm等  JAVA还有寻找线程状态的工具,jstack等  数据库也有检查连接数,连接状态的命令,status,processlist等  代码中也可以添加一些时间的信息,对比信息发现可优化的地方  但这些都不是今天要记录的内容,今天要做的是使用一个比较
Wesley13 Wesley13
3年前
mysql 连接慢的问题
现象:今发现站点訪问数据库变慢,经查,查询数据库非常快,连接数据库比較耗时。解决的方法:在mysql的配置文件my.cnf中,在\mysqld\以下加上这个配置就能够了.附录:\mysqld\部分要增加一个參数skipnameresolve:主机名不被解析。增加后在授权表的Host的列值必须是IP数字
Wesley13 Wesley13
3年前
mysql too many connection 解决
  最近的项目用了动态切换数据源起初感觉还好,后来发现每次切换数据库都会创建一个新的连接,这样就导致大量的sleep线程。而mysql的默认sleep时间是28800秒。。。。默认最大连接数为151,这就导致经常会出现mysqltoomanyconnection的异常,需要重新启动项目太麻烦于是就搜了些解办法1;showvariablesli
Wesley13 Wesley13
3年前
JAVA架构设计,JAVA大型网站架构设计,JAVA高级和架构师数据库,分布式事务,大型分布式综合电商项目实战等视频教程
JAVA高级和架构师进阶,微服务架构,亿级高并发,分布式架构,源码剖析系列,项目实战,设计模式实战,数据结构与算法,消息中间件,并发编程多线程,服务器系列,数据库,分布式事务,大型分布式综合电商项目实战等视频教程
Wesley13 Wesley13
3年前
Java面试官最常问的volatile关键字
在Java相关的职位面试中,很多Java面试官都喜欢考察应聘者对Java并发的了解程度,以volatile关键字为切入点,往往会问到底,Java内存模型(JMM)和Java并发编程的一些特点都会被牵扯出来,再深入的话还会考察JVM底层实现以及操作系统的相关知识。接下来让我们在一个假想的面试过程中来学习一下volitile关键字吧。1\.Java并发
Wesley13 Wesley13
3年前
Java并发同步器AQS(AbstractQueuedSynchronizer)学习笔记(1)
Java中的并发包,是在Java代码中并发程序的热门话题。如果我们去读concurrent包的源码时,会发现其真正的核心是AbstractQueuedSynchronizer,简称AQS框架,而DougLea大神正是此包的作者。之前也看过一遍AbstractQueuedSynchronize,但印象不深,只有依稀的印象。这次重新学习
Wesley13 Wesley13
3年前
MySQL数据库的增删改查
\在终端中开启数据库:方式1.在管理员身份运行cmd终端中开启数据库:netstartmysql57(服务名称)连接数据库:mysqlu用户名p输入密码注意:可以设置mysql服务器开机自启动(计算机右键→管理→服务→mysql57双击更改启动方式)方式2.在mysqlclient里面开启数据库:直接输