摘要: 一、 Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释 git remote a 阅读全文
posted @ 2017-03-08 00:10 星火燎原智勇 阅读(533) 评论(0) 推荐(0) 编辑
摘要: Java5的线程并发库中,提供了一组atomic class来帮助我们简化同步处理。基本工作原理是使用了同步synchronized的方法实现了对一个long, integer, 对象的增、减、赋值(更新)操作 java.util.concurrent在并发编程中很常用的实用工具类。 | locks 阅读全文
posted @ 2017-03-07 23:54 星火燎原智勇 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 摘要:这次solr底层升级是一次比较大的升级。从底层搜索引擎 solr4.8 升级到 solr6.4.2,由于solr底层从6.x开始以来的jdk必须指定为1.8,而且很多内部实现类都已经废弃或者干脆被砍掉了,这样就导致了很多实现类都需要进行兼容性的处理,第三方依赖的库也需要跟着进行升级改造。例如I 阅读全文
posted @ 2017-03-06 23:36 星火燎原智勇 阅读(1201) 评论(1) 推荐(2) 编辑
摘要: Java多线程编程中,常用的多线程设计模式包括:Future模式、Master-Worker模式、Guarded Suspeionsion模式、不变模式和生产者-消费者模式等。这篇文章主要讲述Future模式,关于其他多线程设计模式的地址如下: 关于Master-Worker模式的详解: 并行设计模 阅读全文
posted @ 2017-02-27 22:28 星火燎原智勇 阅读(4029) 评论(0) 推荐(1) 编辑
摘要: Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。 读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这是由jvm自己控制的,我们只要上好相应的锁即可。如果你的 阅读全文
posted @ 2017-02-27 17:44 星火燎原智勇 阅读(12986) 评论(5) 推荐(1) 编辑
摘要: 1. 首先下载本地IntelliJIDEA注册服务机(没有密码哦) http://pan.baidu.com/s/1hsyZp0C 2、解压后进入解压的文件夹,找到自己操作系统对应的版本,我这里使用 IntelliJIDEALicenseServer_windows_amd64.exe,双击打开运行 阅读全文
posted @ 2017-02-27 11:32 星火燎原智勇 阅读(10677) 评论(0) 推荐(0) 编辑
摘要: Java多线程编程中,常用的多线程设计模式包括:Future模式、Master-Worker模式、Guarded Suspeionsion模式、不变模式和生产者-消费者模式等。这篇文章主要讲述Master-Worker模式,关于其他多线程设计模式的地址如下: 关于Future模式的详解: 并行设计模 阅读全文
posted @ 2017-02-26 22:50 星火燎原智勇 阅读(3531) 评论(0) 推荐(0) 编辑
摘要: com.google.common.base.CaseFormat是一种实用工具类,以提供不同的ASCII字符格式之间的转换。 其对应的枚举常量 从以上枚举中可以看出,java程序员最常用的转换类型为:UPPER_CAMEL,即我们常说的"驼峰式"编写方式;其次,我们常用的是:UPPER_UNDER 阅读全文
posted @ 2017-02-23 22:39 星火燎原智勇 阅读(9039) 评论(0) 推荐(1) 编辑
摘要: 摘要:对于中文的搜索来说,词库系统是一个很比较重要的模块,本篇以IK分词器为例子,介绍如何让分词器从缓存或文件系统中自动按照一定频次进行加载扩展词库 Lucene、Solr或ElasticStack如何从外部动态加载词库进入到内存作为分词使用,且这一系列动作不需要重启相应的搜索服务?当前市面上各种博 阅读全文
posted @ 2017-02-22 14:04 星火燎原智勇 阅读(7656) 评论(8) 推荐(2) 编辑
摘要: 问题描述: 有ListA和ListB,其中A、B中元素都是可以保证没有重复的,现要合并A、B得到新的ListC,要求C中不能有重复元素 我的反应: 看了下Java List、Collection的API,没找到合适的 于是乎,遍历A、B中元素个数较少的,往另一个集合中add,当然add时候判断下,有 阅读全文
posted @ 2017-02-21 23:19 星火燎原智勇 阅读(383) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal用于实现线程内的数据共享,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,而在另外线程中运行时又共享另外一份数据。 每个线程调用全局ThreadLocal对象的set方法,就相当于往其内部的map中增加一条记录,key分别是各自的线程,value是各自的set 阅读全文
posted @ 2017-02-20 23:33 星火燎原智勇 阅读(801) 评论(0) 推荐(0) 编辑
摘要: 题目:有一APP客户端需要增加一个功能,限制用户输入密码登陆次数1小时内不得超过5次尝试,否则认为是在作弊,将予以保护不得用户再继续进行操作。 思路:此处应该加锁,但是加锁会影响登录效率.看题目发现用户id是作为传入参数。所以我们可不可以拿用户id作为一个锁呢?这样就只会锁住该用户,而不会锁住别人. 阅读全文
posted @ 2017-02-19 19:43 星火燎原智勇 阅读(2250) 评论(0) 推荐(3) 编辑
摘要: 1、尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一 阅读全文
posted @ 2017-02-17 18:29 星火燎原智勇 阅读(334) 评论(0) 推荐(0) 编辑
摘要: concurrentHashMap 1.8 与 1.7 比较请查看:从ConcurrentHashMap演进看 java多线程核心技术 1. Concurrent相关历史 JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的 阅读全文
posted @ 2017-02-16 22:30 星火燎原智勇 阅读(4426) 评论(0) 推荐(0) 编辑
摘要: 质数概念 质数,又称素数,指在一个大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数(也可定义为只有1和本身两个因数的数)。最小的素数是2,也是素数中唯一的偶数;其他素数都是奇数。质数有无限多个,所以不存在最大的质数。 目前总结大概有3中计算方式求解,具体如下 1. 粗鲁暴力定义求解法 阅读全文
posted @ 2017-02-16 12:14 星火燎原智勇 阅读(825) 评论(0) 推荐(0) 编辑