- 博客(38)
- 资源 (1)
- 收藏
- 关注
原创 解析多层json串,获取某个属性值
最近公司有个需求,解析一个json串,是多层不规则的json串,然后要获取超时timeout属性的值进行保存,开始使用String进行处理,但是由于不规则,所以会报错,后来发现了两个jar提供了这个方法。第一个就是fastjson的JSONPath:github地址:https://github.com/alibaba/fastjson/wiki/JSONPath我只用到了其中一个方法:String s = "{\"id\":1,\"gid\":107,\"title\":\"123\",
2022-02-14 15:49:17 1633
原创 ReentrantLock
ReentrantLock是java.util.concurrent包提供的重入锁,其同步操作由AQS同步器提供支持。ReentrantLock提供了一些其他功能,包括定时的锁等待,可中断的锁等待,公平锁,非公平锁等。ReentrantLock的独占并可重入:新建一个ReentrantLock的时候可以通过传参true和flase来创建公平锁和非公平锁。...
2021-12-03 16:01:02 1854
原创 neo4j的CQL基本语法使用
create (p:Phone{user_id:1,phone:123456})neo4j是图形数据库,目前也是在学习阶段,主要是记录自己学习的过程。1.创建(create)语句语法:CREATE (<node-name>:<label-name>)语法说明:语法元素 描述 CREATE 它是一个Neo4j CQL命令。 <node-name> 它是我们要创建的节点名称。 <label-name>.
2021-08-13 11:10:11 913
原创 安装neo4j
jieneo4j是图形数据库1.下载neo4j大家可以去官网下载,但是下载速度太慢,所以找了镜像的网址:下载链接。本人也是下载3.4.5的,目前3版本前需要jdk8支持,3版本后需要jdk11支持。2.解压neo4j我的是linux服务器,所以将下载好的 包放到linux上,进行解压。tar -xvf neo4j-community-3.4.5-unix.tar.gz解压后进入neo4j的conf目录 cd neo4j-community-3.4.5/conf...
2021-08-12 14:53:23 319
原创 SOFA框架RPC 方式快速入门
新建一个maven工程,pom.xml引入对应的rpc包<dependency> <groupId>com.alipay.sofa</groupId> <artifactId>sofa-rpc-all</artifactId> <version>最新版本</version></dependency>因为是简单的入门级别,所以在一个工程中启动两个main方法即可。1.新建He
2021-08-09 10:19:24 1669
原创 linux安装maven和git,在线下载git的代码
安装maven1.先下载maven然后上传到服务器上,下载地址http://maven.apache.org/download.cgi。2.上传到服务器后并且解压,配置maven环境。解压:tar -zxvf apache-maven-3.6.1-bin.tar.gz配置环境:vi /etc/profile写入maven环境变量export MAVEN_HOME=/apps/tools/mavenexport PATH=${JAVA_HOME}/bin:$PATH
2021-03-16 18:16:08 222
原创 linux安装kibana
kibana一般是结合Elasticsearch使用的,如果Elasticsearch没有安装,可以查看安装Elasticsearch。如果Elasticsearch安装正常的话,kibana简单配置即可使用。1、下载kibana。https://www.elastic.co/cn/downloads/kibana2、解压安装elasticsearch-7.2.0-linux-x86_64.tar.gztar -zxvfelasticsearch-7.2.0-linux-x86_64..
2020-08-06 16:27:36 341
原创 Linux安装Elasticsearch7.x
1、Elasticsearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch2、解压elasticsearch到自己指定目录下:tar -avxf elasticsearch-7.2.0-linux-x86_64.tar.gz -C /apps/tools/3、创建elasticsearch的数据存放文件夹和日志存放的文件夹日志文件夹:mkdie /apps/logs/elasticsearch数据文件夹:mkdie /a
2020-08-06 15:54:29 209
原创 spring集成redisson踩过的坑
我用spring的xml集成一直报错,所以只能选择注解方式:@Configurationpublic class RedissionConfig { Logger log = LoggerFactory.getLogger(RedissionConfig.class); @Value("${redis_ip}") String redis_ip; @Value("${redis_port}") String redis_port; @Val
2020-05-28 17:59:55 7841
原创 创建一个Thread线程
创建一个线程: Thread thread = new Thread(new Runnable() { @Override public void run() { System.out.println(Thread.currentThread().getName());//打印当前线程名字 int i = 0; while (i<5){
2020-05-26 10:10:31 455
原创 session共享方案
session共享方案1:nginx的ip_hash策略使用nginx,在nginx.conf中配置负载均衡策略将默认的轮询改为ip_hash。upstream testService{ip_hash;server 192.168.0.14:88;server 192.168.0.15:80;}ip_hash原理是每个请求按访问ip的hash结果分配,这样每个访客...
2020-04-10 16:53:14 99
原创 ActiveMQ消费者参数报错
最近公司又新开了一个平台开发,由于因为要跨平台操作一些操作,所以用ActiveMQ做队列,可以在各自的平台里进行操作,然后碰到了一些坑。第一个:定义了一个pojo实体类,在生产者完成生产后,消费者接收参数,在我们看来是一个pojo,在消费的时候,消费者需要由ActiveMQ的Message转成我们定义的pojo,这样会出现转换异常,是因为生产者发送实体的时候,可能是com.test.Use...
2020-01-16 12:04:52 588
转载 Spring中的@Resource与@Autowired有啥区别?
@Resource与@Autowired有啥区别?@Resource和@Autowired注解对于一名做Java的朋友只要不是入门基本上大家都是众所周知,在项目中对Bean进行自动装配,当我们使用@Autowired注解进行装配时,为什么其他同事用@Resource也是可以的呢?当然,程序员的日常搬砖搬多了,反正两个都能用,人家怎么写我也就照样copy就行只要程序不报错,并没有理解...
2019-12-25 09:37:02 677
原创 SpringBoot利用aop切面做日志记录
只是做一个简单的日志记录,比如某个url进入哪个controller并将参数输出。1、首先在pom.xml中导入aop的包<!--aop--> <dependency> <groupId>org.springframework.boot</groupId> <artifa...
2019-12-19 09:40:25 430
转载 Redis LRU缓存淘汰机制(过期处理机制)
本打算将MySQL系列从原理到集群架构一口气写完,最近有朋友说让我聊聊面试中的高频问题,这种比较实际而且立竿见影的话题。那我就先把这块东西先放着,后面穿插着把MySQL系列补全。今天我们就新开一篇说说Redis的缓存过期删除算法:LRU。说到Redis的LRU淘汰算法我们就不得不先了解下它的过期策略。过期策略从字面意思就是:当key过期时就会自动删除。那么我们想一下两个问题:什么时候删除过期k...
2019-12-04 10:08:28 978
转载 HashMap面试题
正文(1)HashMap的实现原理?此题可以组成如下连环炮来问 你看过HashMap源码嘛,知道原理嘛? 为什么用数组+链表? hash冲突你还知道哪些解决办法? 我用LinkedList代替数组结构可以么? 既然是可以的,为什么HashMap不用LinkedList,而选用数组? 你看过HashMap源码嘛,知道原理嘛?针对这个问题,嗯,...
2019-08-22 10:23:37 707
原创 maven打包时过滤证书
微信退款时会报过长异常:DerInputStream.getLength(): lengthTag=111, too big.是因为证书在maven打包时改变了原有的证书。解决方案:添加maven配置:<resources><resource><directory>src/main/resources</directory>&l...
2019-06-27 11:49:00 1859
转载 java 使用AES加密解密32位密钥出现 Illegal key size 错误的解决方案
错误场景:在一次和.net对接接口时,对方提供的加密密钥是32位的,我们使用这个加密时候就出现 Illegal key size 错误,查阅资料知道了如果密钥大于128, 会抛出上述异常。因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件,文件位于/jre/lib/security下, 这种限制是因为美国对软件出口的控制。报错信息:2018-07-10 16:...
2019-05-09 18:18:49 3142
转载 quartz定时任务的Job无法注入spring bean的解决方案
使用spring 结合quartz进行定时任务开发时,如果直接在job内的execute方法内使用service 或者mapper对象,执行时,出现空指针异常。问题原因job对象在spring容器加载时候,能够注入bean,但是调度时,job对象会重新创建,此时就是导致已经注入的对象丢失,因此报空指针异常。解决方案方案1:重写JobFactory类@Componentpub...
2019-05-05 17:08:12 2591
原创 得到几天后的时间
/** * 得到几天后的时间 * @param d * @param day * @return */ public static Date getDateAfter(Date d,int day){ Calendar now =Calendar.getInstance(); now.setTime(d)...
2019-04-26 13:39:11 266
原创 获取下个月的第一个周五
/** *获取下月的第一个星期五 */ public static Date getMonthWeek() { Calendar cal = Calendar.getInstance(); cal.add(Calendar.MONTH,1); cal.set(Calendar.DAY_OF_MONTH,1); cal.get((Calendar.DAY_OF_WEEK)...
2019-04-26 13:36:00 528
原创 idea不能加载.xml文件
idea有自己的编译机制,idea在编译之后发现.xml没有被编译,在eclipse可以正常编译,具体原因不不清楚。只要在pom.xml文件的<build>标签中添加以下代码即可。 <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉 --> <resources> <resource> <...
2019-02-26 09:00:52 2520
原创 linux安装redis
最近在阿里云上自己安装一些环境,nginx,node.js等,今天安装了redis,做一些笔记。安装redis是已经安装了一些工具,例如解压包,在线下载等。我习惯装到/usr/local/目录下,所以先切换到/usr/local/,运行:cd /usr/local/1、在线下载redis包。解压、编译源码。wget http://download.redis.io/releases/r...
2019-02-25 14:15:44 160
原创 git将分支合并到主分支
废话不多说,今天要合并分支到主分支,更新或上线某一个模块,虽然已经合并了多次,但是常常忘记,在此做个记录。1、如果正常情况下,分支和主分支的代码没有冲突,切换到主分支:使用 git merge dev即可快速合并分支,期中dev是你的分支名称。如果主分支也修改了一部分代码,分支也修改了代码,那么会产生冲突,那么先使用 git merge dev合并分支,这样git会将所有修改或新增的代...
2019-02-21 09:18:57 12926
原创 linux安装nginx配置https
最近在linux中配置nginx,然后需要配置https访问域名。安装nginx前,我们首先要确保系统安装了g++、gcc、openssl-devel、pcre-devel和zlib-devel软件。如果安装请忽略。1、# yum install gcc-c++nginx是C语言开发的,在官网上下的源码需要编译,依赖gcc环境。2、# yum install -y pcre pc...
2019-02-18 17:17:56 3204
原创 用SecureCRT链接阿里云linux系统
本文知识记录,因为自己坑过自己,希望能给大家一些帮助。用SecureCRT链接阿里云系统,用户名为:root,登录的时候需要密码。这个密码是实例密码,如果忘记了或者没有设置,自己在实例中设置一下密码,如下图:重置实例密码后,注意,要重启服务器、要重启服务器、要重启服务器。重要的事情说三遍,没有重启永远都连接不上的,这个坑耗费了我好长时间。...
2019-02-12 10:56:22 2223
原创 linux配置jdk环境
最近在阿里云服务器上搭建环境,第一部肯定是需要配置jdk,网上的帖子很多,大家可以参考,不过遇到了一个坑,大部分人都是在linux上直接下载jdk的,这样在解压会有问题,解压不成功,有人给出原因是windows下载需要同意协议,linux下载默认是不同意协议的,所以最好还是windows下载后上传到linux中,我下载的是jdk1.8,传送门:jdk1.8下载。首先同意协议,然后根据不同的...
2019-02-10 09:41:16 242
原创 微信上传语音
前几天,公司让做一个微信用户上次语音,然后保存语音到本地服务器上做记录,前端按照微信的api就行,但是有一点大家注意: //上传录音文件 获取微信录音标识 function uploadVoice(localIds){ //调用微信的上传录音接口把本地录音先上传到微信的服务器 //不过,微信只保留3天,而我们需要长期保存,我...
2019-01-17 16:00:53 702
原创 关于oss视频、语音不能播放问题
最近公司让做微信端上传视频或者语音,然后后台审核功能,微信可以正常拿到数据,但是在web展示的时候,视频和语音都不可以正常播放。后来找原因,是因为https的content-type的问题,因为上传的时候没有指定content-type,所以默认是text/html。所以这里要做判断,并指定content-type。这可能只是一种原因,看各位怎么解决了。其实可以先在实验,在oss找...
2019-01-17 15:49:13 5553 3
原创 Sping用到的常用设计模式
最近在学习spring,spring用到的设计模式很重要。1、工厂模式:隐藏复杂的逻辑过程,只关心结果。简单工厂、工厂方法、抽象工厂2、单例模式:保证从系统启动到系统停止,全过程只产生一个实例。常用的单例模式:委派模式:1、类似于中介的功能(委托机制) 2、只有被委托人的引用,和代理模式区分开策略模式:1、过程不同,结果一样原型模式:1、过程相同,但结果不一样,或者叫做...
2019-01-08 10:33:33 159
原创 关于Access denied for user 'root'@'localhost' (using password: YES)报错问题
前段时间,公司让维护以前的一个系统,所有的环境都配置好了,但是数据库怎么都连接不上,报错信息是:java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)然后百度了好久,很多帖子都是说mysql的root权限不够,然后也执行了权限等sql,依然不好使,以上是我的hibernat...
2019-01-08 10:28:09 368
原创 Spring的AOP
最近在学Spring,经常说的IOC和AOP,在此只是做一个记录,毕竟人脑会忘记的。AOP:事务代理(声明式事务,根据不同的方法确定是否需要加事务,用的是cglib动态代理)、日志监听等例子,事物监听为例子:1:service()方法,做业务处理2:spring会自己开启一个事务(open)3:事务执行(向数据库插入数据)4:监听事务是否有异常,根据异常决定事务是否回滚还是继续...
2019-01-08 10:25:07 106
原创 springboot+elasticsearch集成问题
最近在自己搭springboot框架,因为公司业务需要搜索引擎,所以弃用了solr,打算用新的框架,选用了elasticsearch的框架。网上很多教学,不过因为用的springboot是2.1.1版本,集成各种报错,后面查找原因,只是大概判断是版本不同,我保持了客户端和服务端的版本一致,用的是elasticsearch6.2.3+springboot2.1.1,然后可以正常使用了。参考文...
2018-12-25 11:32:35 154
原创 Spring boot 集成Mybatis报错问题
自己小白一个,领导要自己做一个平台,只是说了用springboot技术,框架也需要自己搭,然后按照网上的帖子搭建,后期还是出了问题,具体问题是因为插库的时候,没有扫描到mapper的.xml文件,报错时的配置:启动项目时:扫描不到mapper/*.xml,因为只会扫描配置文件下的mapper/*.xml,但是resources下面没有mapper文件夹,所以找不到.xml文件。解决办法...
2018-12-20 15:23:37 233
转载 为什么分布式一定要有 Redis?(转自微信公众号文章:GitChat精品课)
绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。这里对 Redis 常见问题做一个总结,解决大家的知识盲点。 1、为什么使用 Redis 在项目中使用 Redis,主要考虑两个角度:性能和并发。如果只是为了分布式锁这些其他功能,还有其他中间件 Zookpeer 等代替,并非一...
2018-09-26 13:53:17 256
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人