2 hac无聊编编

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 30w+

老web项目tomcat指定多环境配置文件部署

resources目录下创建多个文件夹,分别对应开发环境,测试环境,正式环境。如下图

2020-07-03 16:03:47

访问GitHub加速,直接访问ip

访问GitHub加速修改hosts文件,直接访问ip192.30.253.113 github.com192.30.253.113 github.com192.30.253.118 gist.github.com192.30.253.119 gist.github.com

2020-04-28 20:24:16

MySQL子查询和join连接哪个性能更好

我们首先使用EXPLAIN解释一下子查询当使用EXPLAIN解析以下SQL的时候,MySQL报告了一个警告EXPLAINSELECT t.* FROM test t WHERE t.id IN (SELECT t2.id FROM test t2 )显示警告发现子查询被编译为join语句SHOW WARNINGSselect `test`.`t`.`id` AS `id`,`tes...

2020-04-25 14:09:30

CompletionService原理详解

CompletionService实际上可以看做是Executor和BlockingQueue的结合体。CompletionService在接收到要执行的任务时,通过类似BlockingQueue的put和take获得任务执行的结果。CompletionService的一个实现是ExecutorCompletionService,ExecutorCompletionService把具体的计算任务...

2020-04-18 21:11:31

jdk1.8新增的高性能并发类LongAdder等

LongAdderJDK1.8时,java.util.concurrent.atomic包中提供了一个新的原子类:LongAdder。根据Oracle官方文档的介绍,LongAdder在高并发的场景下会比它的前辈————AtomicLong 具有更好的性能,代价是消耗更多的内存空间。AtomicLong是利用了底层的CAS操作来提供并发性的,调用了Unsafe类的getAndAddLong方...

2020-04-18 19:51:01

Java volatile关键字深入JVM理解

volatile关键字修饰的变量可以保证可见性变量用volatile修饰得时候,当一个线程修改了变量,其他线程可以立即读到修改后得值,适用于一写多读得多线程场景,多线程对变量有复杂操作禁止使用,容易引起线程间并发的一些问题,当一个线程修改了volatile修饰的变量时,cpu运算后会立即写到共享主存中,其他cpu读取的时候会先将自己独有内存的变量副本置为不可用,直接从共享主存中读取数据,总结:对...

2020-04-18 09:35:40

Java内存模型带来的问题

可见性问题左边CPU中运行的线程从主存中拷贝共享对象obj到它的CPU缓存,把对象obj的count变量改为2。但这个变更对运行在右边CPU中的线程不可见,因为这个更改还没有flush到主存中。在多线程的环境下,如果某个线程首次读取共享变量,则首先到主内存中获取该变量,然后存入工作内存中,以后只需要在工作内存中读取该变量即可。同样如果对该变量执行了修改的操作,则先将新值写入工作内存中,然后再...

2020-04-17 13:48:08

linux配置ssh密钥登录或者密钥密码同时使用

linux配置ssh密钥登录生成rsa密钥,使用Linux的ssh-keygen,参考网站:https://www.ssh.com/ssh/keygen/ssh-keygen -t rsa -b 4096ssh-keygen -t dsassh-keygen -t ecdsa -b 521ssh-keygen -t ed25519-t选择加密算法有四种: rsa,dsa,ecdsa...

2020-04-08 21:41:02

Java史上最全读写分离配置方案

Java的aop实现,切面对mapper,两个数据源,例如以select开头的使用读数据源,以insert开头的使用写数据源,在mapper方法执行前使用aop切换shardingsphere框架实现,一个个人感觉不错的框架,社区较为活跃,在mycat停止更新的情况下,值得一用配置多数据源,以查询的mapper放入一个文件夹,让读数据源配置扫描,以修改更新的mapper放入一个文件夹,让写数...

2020-03-31 10:17:59

Java强引用,软引用,弱引用,虚引用详解

强引用,软引用,弱引用,虚引用强引用(StrongReference): 通过new来引用的是强引用,当栈指向存在的时候,堆中内存就不会被垃圾回收机制回收,当内存空间不足时,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题,当一个对象设置为null的时候就会触发垃圾回收,ArrayList的Clear方法就是通过把成...

2020-03-31 09:44:00

spring手动事务开启.提交.回滚.spring的测试类,自动事务无法使用解决

spring的测试类,自动事务无法使用解决使用手动提交的方式需要在类上加上两个注解@AutowiredDataSourceTransactionManager dataSourceTransactionManager;@AutowiredTransactionDefinition transactionDefinition;手动开启事务TransactionStatus trans...

2020-03-26 09:25:18

spring boot打包成jar,无法将jar中文件读取成file

代码Resource resource = new PathMatchingResourcePatternResolver().getResource(“data/apiclient_cert.p12”);File file = resource.getFile();我们idea中运行服务时,可以正常执行。但是将服务打包成可执行jar的包,以jar服务运行服务时,抛出以下错误:cannot...

2020-03-24 10:15:46

基于redis的互斥锁

很简单,简单点写就是存一个key到redis,设置失效时间,当这个key存在就是锁着稍微复杂点就是实现jdk的Lock接口,在lock()方法或者tryLock()方法中写添加redis的逻辑,在unlock()写删除redis key的逻辑...

2020-03-04 08:44:16

redis的持久化笔记

redis存储rbd手动触发和自动触发save 阻塞当前 Redis,直到 RDB 持久化过程完成为止,若内存实例比较大会造成长时间阻塞,线上环境不建议用它bgsave 在后台异步(Asynchronously)保存当前数据库的数据到磁盘 BGSAVE 命令 执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程...

2020-03-02 21:31:44

js对字符串进行utf-8编码和解码

JavaScript本身可通过charCodeAt方法得到一个字符的Unicode编码,并通过fromCharCode方法将Unicode编码转换成对应字符。但charCodeAt方法得到的应该是一个16位的整数,每个字符占用两字节。在网络上传输一般采用UTF-8编码,JavaScript本身没有提供此类方法。不过有一个简便的办法来实现UTF-8的编码与解码。Web要求URL的查询字符串采用U...

2020-03-02 18:28:03

Elasticsearch7type类型的变化

Elasticsearch7中的mapping设置以及变化指定是否使用mapping types。(7.0默认是true,7.0-8.0默认是false,true 开启,false关闭),比如PUT index?include_type_name=false{“mappings”: {“properties”: {“foo”: {“type”: “keyword”}}}建议直...

2020-02-19 15:50:34

Kafka Producer配置解读

retries设置大于零的值将导致客户端重新发送其发送失败并发生潜在的瞬时错误的记录. 相当于client在发送失败的时候会重新发行.如果设置了retries而没有将max.in.flight.request.per.connection设置为1(限制客户端在单个连接上能够发送的未响应请求的个数。设置此值是1表示kafka broker在响应请求之前client不能再向同一个broker发送...

2020-02-11 09:58:10

docker run指定entrypiont覆盖默认的

docker run指定entrypiontdocker run -p 38888:38888 -p 8080:8080 -di --entrypoint /usr/project/jdk1.8.0_231/bin/java jenkins-encoding -jar /usr/project/jenkins.war–entrypoint “/usr/project/jdk1.8.0_231...

2020-01-27 20:44:54

CentOS 7或者Centos 8系统,VMware虚拟机设置静态ip网卡上网

第一步:在VMware里,依次点击”编辑“ - ”虚拟网络编辑器“,如下图,我选择的是NAT模式: 1.![在这里插入图片描述](https://img-blog.csdnimg.cn/20200114205406517.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly...

2020-01-14 20:57:48

解决docker命令使用table键补齐命令无效

docker命令使用table键无法补齐在使用Linux的centos7版本的时候,在有的机器可以使用table键补齐命令,有的无法使用,为了方便点,找了一些博客解决了(怕这些博客有天404,这里自己发一下)1 yum install -y bash-completion2 source /usr/share/bash-completion/bash_completion参考自: h...

2020-01-11 14:07:00
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。