- 博客(61)
- 资源 (5)
- 收藏
- 关注
原创 并发-CountDownLatch 和 CyclicBarrier
Concurrent.util工具之CountDownLatch & CyclicBarrierCountDownLatch用法:经常用于监控一些初始化操作,等初始化都完毕之后,通知主线程进行继续操作!! CyclicBarrier常用于多个线程都完成一定的准备工作之后,一起去执行操作。例如: 你今天过生日,约定好,家人都到齐了,才能吃蛋糕,有一个人没到家...
2018-01-11 11:02:46 252
原创 并发-线程池-2-ThreadPoolExecutor框架
自定义线程池使用详细:JDK底层ThreadPoolExecutor的构造方法实现: 其中核心内容是BlockingQueue workQueue,之所以Exectuors拥有创建不同类型的线程池关键在于此处传入的参数可以时不同的队列。 也就是说当Exectuors不能满足你的话,可以根据这个方法自定义自己的线程池:public ThreadPoolExecutor(int coreP
2018-01-06 22:22:57 380
原创 并发-线程池-1-Executor框架
并发-线程池-Executor框架Executor框架: 为了更好的控制多线程,JDk提供了一套线程框架Executor,位于java.util.concurrent包下,是JDK并发包的核心。其中重要的一个角色:Executors,扮演线程工厂的角色,用于创建线程主要方法包含:1、该方法返回一个固定数量的线程池,方法的线程数量不变,有一个任务提交时,若线程池中有空闲,则立即
2018-01-06 19:28:46 364
原创 Mac LINK redis-server 编译异常 /Library/Developer/CommandLineTools/SDKs/
问题描述:本想在自己本机Mac 上安装下redis 集群,不料在编译make 下触发了以下异常unsupported tapi file type ‘!tapi-tbd’ in YAML file ‘/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libSystem.tbd’ for architecture x86_64/bin/sh: pkg-config: command not found LINK red
2021-04-06 11:21:02 1695
原创 zookeeper 3.5.*版本 本地伪集群 问题 Client port not found in static config file. Looking in dynamic config f
Client port not found in static config file. Looking in dynamic config file. grep: : No such file or directory好久没有搭建zk 环境,搞了半天才发现问题,记录下zoo.cfg 版本配置区别3.4.*和更早版本配置# example sakes.dataDir= /Users/zhanghuilong/zkgroup/zk3/datadataLogDir= /Users/zhangh
2020-11-30 11:44:28 2418
原创 Java 缓存行 和 伪共享
Java 缓存行和伪共享最近看了一本书,因为以前不太了解底层原理,所以这块比较薄弱,所以通过本文做下记录和总结。1.缓存行和伪共享的概念1.1 概念阐述在计算机系统中,内存是以【缓存行】为单位存储的,一个缓存行存储的字节是2的倍数。不同机器上,缓存行大小也不一样,通常来说为64字节。伪共享是指:在多个线程同时读写同一个【缓存行】上的不同数据时,尽管这些变量之间没有任何关系,但是在多线程之...
2019-06-12 19:08:28 1340
原创 Error condition on socket for SYNC: Connection refused
redis 主节点显示 slave数据为0主节点:172.16.43.144:6379# Replicationrole:masterconnected_slaves:0master_replid:f70e3abf6107767212fc6991c79cdfe491ae1d34master_replid2:0000000000000000000000000000000000000000...
2019-03-20 12:41:01 3496 1
原创 如何撤回Git push 到远程分支以后的方法
这里写自定义目录标题Git push 到远程分支以后的撤回方法解决流程一、查询Git提交日志记录。1. 首先要查看提交日志记录,找到记录ID,这个过程有两种方式2. git log3. git log --pretty=oneline4. git reflog5.区别点:二、进行版本回退1. 本地回退git reset --hard【这里采用 --hard 演示】2.重新push 远程分支3.正确...
2019-01-09 12:39:30 12643 1
原创 利用Java 动态代理,自定义注解 读取配置文件中的属性值
Java动态代理在一些中间件中经常用到,或者一些大型项目中都会用到。这里顺带使用一下自定义注解方式,基于java 反射机制读取.properties格式文件。demo的大致内容包含以下:1.配置文件:config.propertiesurl=http://www.hrsstd.compassword= rootusername= zhanghuilongport = 8080is...
2019-01-02 23:33:41 4307 1
原创 java 动态代理 为什么在debug 时会多次执行invoke 内部方法
java 动态代理 为什么在debug 时会多次执行invoke 内部方法最近被一个同事问道该问题,有些模糊了,前来验证记录下。copy了一个网上实例进行验证package com.huilong.hrs.portal.study.amn.jdkpox;import java.lang.reflect.InvocationHandler;import java.lang.reflect...
2018-12-28 14:41:36 3641 3
原创 SpringBoot工程中mybatis版本兼容问题
mybatis版本兼容问题1. 问题现象搭建springboot工程的过程中出现的错误出现java.lang.NoClassDefFoundError: org/apache/ibatis/cursor/Cursor 错误!1. 声明:mybatis的3.4.0及以上版本只支持mybatis-spring1.3.0及以上版本说明是版本兼容问题,解决办法:mybatis的3.4.0及以...
2018-11-12 09:37:13 10867 2
原创 Java SPI + Dubbo SPI
SPI-Service Provider Interface : 服务提供接口Java SPI + Dubbo SPIJava SPIDubbo SPI功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新...
2018-11-06 15:14:13 413
原创 Mac搭建review 代码工具Gerrit + Gitlab
Mac系统 搭建代码review Gerrit + Gitlab比较适合Java开发做代码review一、安装前的 准备工作1.已经安装JDK【1.7/1.8】2.已经安装 mysql二、安装Gerrit官网Gerrit下载地址:https://www.gerritcodereview.com/1.先创建gerrit启动过程需要的数据库$ mysql -u root -pEnt...
2018-09-19 21:13:06 3255 1
原创 低版本JDk不支持高版本打包的异常:Unsupported major.minor version 52.0
异常记录:stanford parser和jdk版本对应关系J2SE 8 = 52,J2SE 7 = 51,J2SE 6.0 = 50,J2SE 5.0 = 49,JDK 1.4 = 48,JDK 1.3 = 47,JDK 1.2 = 46,JDK 1.1 = 45具体异常信息:Caused by: java.lang.UnsupportedClassVers...
2018-06-19 10:51:44 2039
原创 根据对象中字段属性值,动态java反射调用相应的get方法
根据对象中字段属性值,动态调用相应的get方法#### 举个例子,把对象GoodsVO中的字段作为key, get方法作为value,全部存放在Map中.//商品对象public class GoodsVO { /** * 品牌ID */ private Long brandId; /** * 品牌名称 */ ...
2018-06-12 19:17:35 9538
原创 mysql 更换主键,添加新主键字段及主键初始化赋值 sql
顺序执行以下sql语句1.删除表主键约束ALTER TABLE mobilems_m_weex DROP PRIMARY KEY;2.添加新主键字段idALTER TABLE mobilems_m_weex ADD id BIGINT(20) NOT NULL COMMENT ‘主键’ FIRST;3.id赋值#显示行号的sqlSELECT@r := @r + 1 ...
2018-05-24 14:13:10 5378
原创 Mac 下显示隐藏文件
终端打开:执行以下命令显示隐藏文件命令尾部true 表示开启隐藏文件,false 表示隐藏之前开启的 文件1. defaults write com.apple.finder AppleShowAllFiles -bool true;重启finder2.KillAll Finder...
2018-05-19 10:25:33 379
原创 Lambda表达式计算字符串中小写字母个数
public static void main(String[] args) { String str ="a1b2c3d4e5f6d7*ABCDf"; IntStream chars = str.chars(); int reduce = (int) chars.filter(Character::isLowerCase).count(); ...
2018-04-19 15:50:44 2223
原创 Lamdba-函数式编程《一》
Lamdba-函数式编程《一》Java中重要的函数接口 接口 参数 返回类型 事例 Predicate T boolean 是否通过测试 Consumer T void 输出一个值 Function T R 获取一个R类型的返回值 Supplier None T 工厂方法 Un...
2018-04-19 13:45:09 305
原创 RFC6265 Cookie values characters restricted to US-ASCII: 0x5468
Cookie中存储中文异常今天存储cookie用户名称时发生异常临床表现:RFC6265 Cookie values characters restricted to US-ASCII: 0x5468Cookie默认支持的编码方式是ASCII码治疗手段: 1.创建cookieCookie cookie = new Cookie(name,URLEncoder.encode...
2018-02-24 16:37:39 921
原创 Java1.8 HashMap
最近看了一篇很好的文章,记录一下!!摘要 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介 Java为数据
2018-02-04 20:05:20 441 1
原创 Mysql事务隔离级别详细阐述
Mysql事务隔离级别详细阐述最近项目遇到一个mysql死锁的问题,定位了好久!顺便也复习下事物隔离级别吧。查询事物隔离sql1.查看当前会话隔离级别select @@tx_isolation; 2.查看系统当前隔离级别select @@global.tx_isolation;3.设置当前会话隔离级别set session transaction
2018-01-19 12:34:32 333
原创 Java并发之重入锁+读写锁
Java多线程中,除了sychronized关键字实现多线程之间同步互斥操作,其实还有另外一种高效的机制去完成”同步互斥”操作。即Lock对象,比synchronized关键字更为强大功能,并且有嗅探锁定,多路分支等功能。重入锁 默认非公平锁 public ReentrantLock() { sync = new NonfairSync(); }常用方法
2018-01-16 00:42:15 1910
原创 消息中间件之RabbitMQ
一、RabbitMQ简介1、简介RabbitMQ是一个遵循AMQP协议的消息中间件,它从生产者接收消息并递送给消费者,在这个过程中,根据规则进行路由,缓存与持久化。基于erlang语言开发具有高可用高并发的优点,适合集群服务器可靠性:包括消息持久化,消费者和生产者的消息确认灵活路由:遵循AMQP协议,支持多种Exchange类型实现不同路由策略分布式:集群的支持,包括本地网
2018-01-15 22:18:52 2656 1
原创 开发者线上环境测试发布后的Dubbo接口
开发者线上环境测试发布后的Dubbo接口服务是否OK作为开发者,dubbo发布服务发布之后,需要调用方调用才可以检测接口是否正常。为了能够自测,可以开发一套后台管理界面直接操作,简介明了。不需要采用传统的telnet方式,在线上服务器上查看。可以根据自己的服务做适配扩展,做成web界面服务,大致核心内容如下:1.先看下接口,查询参数是复杂对象public Response> page
2018-01-15 00:03:43 1614
原创 并发之Semaphore信号量限流操作
Java并发之Semaphore信号量限流使用信号量Semaphore非常适合高并发访问,一般新系统上线前要预估访问量大小,当然评估值不能过大,也不能过小。过大,会导致浪费系统资源,太小,如果遇到峰值,容易压垮系统!相关概念: PV: page view 页面总访问量,没刷新一次记录一次。 默认的策略是非公平锁UV: unique view 客户端主机访问,一
2018-01-14 20:58:32 3982 1
原创 并发之-Callable 和 Future 使用
并发之-Callable 和 Future 使用Future模式非常适合之处理耗时比较长的业务上使用,可以有效的节省系统响应时间。提高服务器的吞吐量代码事例:package com.huilong.study.apple.service.executor;import java.util.concurrent.Callable;import java.util.concurr
2018-01-14 15:44:09 311
原创 Python编程从入门到实战
Python编程从入门到实战 书中源码地址:http://download.csdn.net/download/java_huilong/10197406更多python视频资料:[http://120.55.52.75:8080/index]
2018-01-09 21:40:49 1419
原创 -source 1.5 中不支持 lambda 表达式
maven为了兼容低版本所以采用了默认jdk1.5 如果使用新特性,需要指定一下jdk版本: 在项目根pom中添加一下配置即可build>plugins> plugin> groupId>org.apache.maven.pluginsgroupId>artifactId>maven-compiler-pluginartifactId>
2018-01-07 11:22:01 615
原创 阿里云部署项目时遇到的Communications link failure
症状表现:[localhost-startStop-1] ERROR com.alibaba.druid.pool.DruidDataSource - dataSource init errorcom.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packe
2018-01-05 12:48:11 4806 1
原创 org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map
我的bug,但是让我觉得mybatis也有不够友好的地方!!!问题临床表现:Caused by: org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map java.lang.Long:原因点: 把parameterType 顺手写成了:parameterMap,导致了此次错误。折腾了好久才
2018-01-02 21:48:36 719
原创 JAVA Integer值比较问题
今天看到项目中很多地方用Integer 比较,觉得有不妥之处,先记录下。java中Integer类型对于-128-127之间的数是缓冲区取的,所以用等号比较是一致的。但对于不在这区间的数字是在堆中new出来的。所以地址空间不一样,也就不相等。所以,以后碰到Integer比较值是否相等需要用intValue()Double没有缓冲区。
2017-09-06 21:51:51 2089
原创 Jq日期比较大小
bootstrap 日期控件function checkDate() { var clicTime = $("#clicTimeId").val();//2017-07-25 var sysDate = new Date();//获取系统时间 var newDate = new Date(clicTime);//把用户输入的字符串转换成日期格式;
2017-07-24 19:07:54 1735
原创 RabbitMQ单机集群搭建
搭建前容我先吐槽下,因为第一次接触rabbitmq,从安装到启动到查看rabbitmq-web页面,这些都比较简单,但是关于单机部署多个实例,我按照资料设置,总会遇到各种问题,书本,博文,百度了很多,几乎千片一律,不过最后还是在谷歌上搜到了蛛丝马迹, 由于我们使用的版本太新了,所以有些资料自然就过期了!下面开始正式搭建:系统:mac rabbitmq:3.6.9,当前时间最新版。1.安装步骤略。
2017-06-25 18:20:59 7825 6
原创 MySQL server version for the right syntax to use near ';) T' at line 7
因为不仔细导致出现两次这个异常问题了,特此记录下!!!check the manual that corresponds to your MySQL server version for the right syntax to use near ‘;) T’ at line 72017-06-22 15:15:58 [ERROR][qtp1190820921-24][PageHelper]-[set
2017-06-22 15:24:28 22639 1
原创 select2的使用
以前主要写后端,前端接触的比较少,记录一下,方便下次使用。输入‘北京’ 会自动调用后端接口查询 相关内容前端代码:<div class="row"> <div class="form-group"> <div class="col-md-8"> <label class="col-
2017-06-02 22:34:01 1731
原创 多张图片上传插件
多张图片上传最近开发一个项目之前一直没有接触过这块的内容,百度谷歌的很多比较适合项目的选了一种大致效果如下图所示: 类似与微信qq说说的上传图片 前端代码 1.上传页面 add.ftl<#include "/views/commons/pageContentPre.ftl"/><form id="medicalUnionForm" action="/medicalunion/upload"
2017-06-02 21:30:41 5264
原创 MAC rabbitmq 安装guest登录失败
MAC rabbitmq 安装guest登录失败1.官网下载的xxxxxx.tar.zx 文件。解压后安装打开http://localhost:15672/#/ 发现查阅很多 资料,都是提示修改配置文件的 [{rabbit, [{loopback_users, []}]}].但是 依然是登录失败!!无奈下重新安装了rabbitmq。 步骤: 1.安装 Homebrew https://brew
2017-05-14 17:36:34 1442
原创 Jmeter 测试dubbo java接口
简单认识和学习jmeter的使用Jmeter安装下载官网下载:apache-jmeter-3.1.zip 解压即可!测试类准备先看下整体项目结构 核心测试类public class ExpertServiceJMeter extends AbstractJavaSamplerClient{ @Resource private ExpertRpcService expertRpcSe
2017-04-25 15:02:25 8661 2
Python编程从入门到实战 书中源码
2018-01-09
多张图片上传插件
2017-06-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人