- 博客(35)
- 资源 (9)
- 收藏
- 关注
原创 ConcurrentHashMap 1.7与1.8的锁区别,以及数据结构区别
JDK1.7版本的ReentrantLock+Segment+HashEntry,到JDK1.8版本中synchronized+CAS+HashEntry+红黑树1.7版本put:Segment的继承体系可以看出,Segment实现了ReentrantLock,也就带有锁的功能,当执行put操作时,会进行第一次key的hash来定位Segment的位置,如果该Segment还没有初始化,即通过CAS操作进行赋值,然后进行第二次hash操作,找到相应的HashEntry的位置,这里会利用继承过来的锁.
2021-03-19 14:17:50
1289
原创 hashmap原理,扩容机制,数据结构版本差异,是否安全,闭环问题
1.hashmap数据结构 1.7版本:数组+单链表 1.8版本:数组+单链表+红黑树2.存取过程put方法: 1.判断当前Hashmap(底层是Entry数组)是否存值(是否为空数组)如果为空,则初始化(默认大小16) 2.计算当前key的哈希值,通过哈希值和当前数据长度,算出当前key值对应在数组中的存放位置,如果计算的哈希位置有值(及hash冲突),且key值一样,则覆盖原值value,并返回原值valuepublic V put(K key, V value) { //
2021-03-19 11:53:28
333
原创 LocalDate与Date相互转换
1.LocalDate转Date LocalDate date = LocalDate.of(2006,07,26); ZoneId zone = ZoneId.systemDefault(); Instant instant = date.atStartOfDay().atZone(zone).toInstant(); java.util.Date da = Date.from(instant);2.Date转LocalDate
2020-07-27 11:09:22
44981
原创 springCloud项目搭建-feign调用服务接口(四)
Feign是一个声明式的Web Service客户端,它的目的就是让Web Service调用更加简单。Feign提供了HTTP请求的模板,通过编写简单的接口和插入注解,就可以定义好HTTP请求的参数、格式、地址等信息,使用起来比RestTemplate更加方便。Feign具有如下特性:可插拔的注解支持,包括Feign注解和JAX-RS注解;支持可插拔的HTTP编码器和解码器;支持Hystrix和它的Fallback;支持Ribbon的负载均衡;支持HTTP请求和响应的压缩。这看起来有点像我们
2020-06-28 16:07:49
752
原创 springCloud项目搭建-eurekaClient消费者(三)
前篇文章已经创建服务提供者,接下来创建服务消费者。完成后修改一下pom.xml如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4
2020-06-28 11:22:13
295
原创 springCloud项目搭建-eurekaClient(二)
前篇文章已经搭建eureka注册中心,接下来则是创建服务提供者。创建生成后如下pom.xml如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.
2020-06-24 11:42:20
1135
原创 springCloud项目搭建-eureka注册中心(一)
按分模块方式快速搭建springCloud项目参考文章:http://c.biancheng.net/view/5357.html1.首先,使用IDEA快速创建项目一直点 next 直至 finish.删除多余文件,文件夹2.建好后可以如有自己的maven库可以修改配置一下。pom.xml如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"
2020-06-24 10:26:58
262
原创 linux 根据关键字查找日志
linux 根据关键字查找日志1、查找当前目录文件名中的字符串: grep 字符串 文件名2、查找某个文件中字符串,并输出行号:grep -n 字符串 文件名3、查找当前目录(包含子目录)的字符串:grep -r 字符串 *4、查找当前目录(包含子目录)的字符串,并输出行号:grep -rn 字符串 *...
2020-06-16 17:58:36
2606
原创 最新-java面试题
爬坑三年多,最近遇到较频繁的爬坑题。做下记录。1.hashmap原理,扩容机制,数据结构版本差异,是否安全,闭环问题。2.对currenthashmap的理解3.是否用过锁,用过哪些锁?4.说一下synchronized与Lock的区别5.synchronized的原理是否了解?6.讲解一下CAS7.dubbo的负载均衡机制有哪些8.zookeeper有哪些作...
2020-06-12 10:59:05
125
原创 读取目录下所有文件名写入文件
1.在需要操作的目录下 Shift +右键 打开命令窗口dir/b/on >allFileName.txt 2.新建一个文本文档,文本中输入如下代码:dir/b/on >allFileName.txt将文本文档的扩展名改为bat,如“allFileName.bat”。双击运行allFileName.bat,会将该目录下所有文件名写入到allFileName.txtt中。...
2020-05-20 17:08:42
1124
原创 sql取前一天,后一天,指定天数时间
1,取前一天SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY) 2 取当前天SELECT DATE_SUB(CURDATE(),INTERVAL 0 DAY)3 取明天日期SELECT DATE_SUB(CURDATE(),INTERVAL -1 DAY)4 取指定日期前2天SELECT DATE_SUB('2020-05-22',INTERVAL 2 DAY)
2020-05-19 15:46:32
4268
原创 复制文件至另一台服务器
scp -r ./data(当前服务器文件目录地址) dcos(另一台服务器用户名)@XX.XX.XXX.XXX(服务器地址):/file(文件存放地址)
2020-05-11 15:05:26
324
原创 mysql分区表LIST
1.新建普通表CREATE TABLE data(id int(30) ,time int(12), sarlay decimal(12,2));2.插入数据INSERT INTO data VALUES (1,201911,10000), (2,201912, 12000), (3,201910, 11000), (4,202001,13000), (5,202001,15000), (6,202004,16000), (7,202004, 17000), (8,202004, 180000);3
2020-05-09 10:12:16
489
原创 mysql分区表RANGE
1.新建普通表CREATE TABLE human (age int, sex int);2.插入数据INSERT INTO human VALUES (5,1), (15, 0), (24, 1), (44, 1), (32, 0), (64, 1), (84, 1), (54, 0);3.建立分区表CREATE TABLE human_fq (age int, sex int) ...
2020-05-08 13:54:00
471
原创 springboot统一异常处理
实现方式第一种:使用@ControllerAdvice和@ExceptionHandler注解@Slf4j@ControllerAdvicepublic class GlobalExceptionHandler { @ResponseBody @ExceptionHandler(NullPointerException.class) public BaseResu...
2020-04-30 16:51:47
210
原创 使用Maven插件wagon-maven-plugin自动化部署
在项目开发过程中,经常需要部署代码到开发环境,每天可能有好多次,每次都需要mvn clean install,然后上传到服务器。实际上这些繁琐的步骤可以通过一个Maven插件wagon-maven-plugin来自动完成配置Linux服务器用户名和密码为了让wagon-maven-plugin插件能SSH连上Linux服务器,首先需要在Maven的配置文件settings.xml中配置好ser...
2020-04-28 17:06:35
1137
2
原创 SpringBoot打包项目成jar包,并部署到服务器
方式一:1.在IDEA工具中使用pageage打jar包2.将jar包放在服务器中 并运行 java -jar ****.jar 即可方式二:使用Maven插件wagon-maven-plugin自动化部署(另有详细文档说明)...
2020-04-28 14:11:45
514
原创 一个文件分割成多个文件
Linux 或 类Unix 下一个文件分割成多个split -l 20000 filename.txt -a 3 -d filename_&&ls|grep filename_|xargs -n1 -i mv {} {}.txt选项(options) -b:选项后跟期望切割后的单个文件的大小,单位k或者m eg. split -b 1024m test.txt ...
2020-04-26 14:47:11
1053
原创 多个文件写入一个文件命令
Linux 或 类Unix 下实现合并多个文件内容到一个文件中cat b1.txt b2.txt b3.txt > b_all.txt或cat *.txt > all.txtWindows下实现合并多个文件内容到一个文件中1.Ctrl+Shift +右键 打开命令窗口copy 1.txt + 2.txt all.txt2.新建一个文本文档,文本中输入如下代码:...
2020-04-23 22:59:19
548
原创 sql用法
将文本文件中的行读入表中eg:load local data infile "C:\\sqlfile\\tb_flow.txt" into table tb_flow fields terminated by'|' lines terminated by '\n'fields关键字指定了文件记段的分割格式,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项:termina...
2020-04-23 21:07:17
214
原创 vue启动及启动问题小记
vue启动(1)1.npm install -g cnpm --registry=https://registry.npm.taobao.org2.cnpm install3.npm run devvue启动(2)1.npm install2.npm run dev小计,有次vue打包build之后本地再次启动报错运行:npm rebuild node-sass 然后 npm...
2020-04-21 13:49:45
769
原创 vue项目打包发布到服务器
当vue项目开发完要部署时1.修改该项目config-index.js文件2.在该项目目录下运行npm命令npm run build3.将生成的dist文件放至tomcat服务器webapps目录下运行即可。...
2020-04-17 15:21:54
590
原创 SpringBoot打包项目成war包,并部署到服务器的tomcat上
最近遇到项目需要上线部署到服务器,需要讲自己的SpringBoot项目打包成war包,部署到tomcat上。下面记录下打包部署的过程。(1) 将SpringBoot项目打包成war包,一、修改打包形式在pom.xml里设置 <packaging>war</packaging>二、移除嵌入式tomcat插件在pom.xml里找到spring-boot-start...
2020-04-17 15:13:02
2891
1
原创 git代码更新提交
git pull 拉取代码git add -A 提交所有变化(包括删除、新增、修改) git commit -m "注释" 本地仓库提交git push origin master 推送
2020-03-30 15:06:15
120
转载 将本地项目上传到码云,只需这几步,每个步骤都有图文
1,首先在码云上新建一个项目,如下图所示2,本地新建一个文件夹3,进入新建的文件夹,点击鼠标右键,选择git bash here然后在窗口输入 git init 这时候文件夹会多出一个.git文件夹,看不到文件夹的,点击鼠标右键选择“显示不显示隐藏的文件”就可以看到这个文件夹了4,进入刚刚在码云新建的项目里,复制框框里的路径5,然后...
2020-03-30 14:47:05
220
1
原创 Linux下文件夹移动到当前目录下一级目录的操作
因项目实际需要,现需将原有文件夹分级,将现有文件移至下一级目录下。如图上所直接操作是不行的。但是可以新建一个平级目录文件夹,现将文件移至平级目录文件夹下然后在cp到原有文件夹下一级目录里。...
2020-03-25 10:40:19
3708
原创 线程池七大核心参数及执行过程
线程池七大核心参数1.corePoolSize(核心线程数)2.maxPoolSize(最大线程数)3.keepAliveTime(空闲回收时间)4.unit(回收时间单位)5.workQueue(任务队列)6.threadFactory(线程工厂,用于创建线程,一般为默认线程工厂即可)7.handler(拒绝策略)当调用 execute(()方法添加一个请求...
2020-03-24 13:46:56
4121
原创 多线程的创建方式,常用线程池及7大核心参数
一.多线程创建方式1.继承thread类//继承Thread类来创建线程public class ThreadTest { public static void main(String[] args) { //设置线程名字 Thread.currentThread().setName("thread"); MyThread m...
2020-03-24 11:01:50
1500
原创 多线程同步卖票demo
public class Test1 {public static void main(String[] args) { TestThread te = new TestThread(); Thread te1 = new Thread(te); Thread te2 = new Thread(te); Thread te3 = new Thread(te);
2017-06-14 17:26:50
380
原创 json解析list取值,json多层取值
先获取json文件,如下解析即可获取所需字段值,可new对象set值保存或返回。 package UserTest;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;public class JsonTest {publi
2017-04-25 13:34:56
6187
原创 音频文件pcm转换wav
import java.io.FileInputStream;import java.io.FileOutputStream;/** * PCM文件转换成Wav格式音频 * @author chuanye.wan * */public class PCM2WAV {/** * 转换音频文件 * @param src 需要转换的pcm音频路径 * @param target 保存转
2017-03-22 18:22:09
1903
转载 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-03-22 18:12:27
142
httpclient4.3所需jar包
2017-06-02
mybatis-generator-core-1.3.2加强版
2017-05-16
SSHSecureShellClient-3.2.9
2017-05-11
使用mybatis-generator-core-1.3.2生成dao,mapper跟model等
2017-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人