![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
SucreKing
参与项目:互联网大数据、餐饮O2O;
展开
-
【redis】分布式锁
基于redis的分布式锁,欢迎大家批评import javax.annotation.Resource;import org.springframework.stereotype.Component;@Component public class DistributeLockRedis redis;/** * 默认锁的超时时间原创 2017-02-15 16:07:57 · 713 阅读 · 1 评论 -
maven——自动部署Web项目
<pluginManagement> <plugins> <!-- tomcat 的插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <!--原创 2015-12-08 17:59:48 · 791 阅读 · 0 评论 -
eclipse使用默认tomcat,运行两次
在eclipse中使用自己安装的tomcat时,默认部署路径不是webapp而是wtpwebapp,如果非要设置成webapp,项目会被部署两次,可能是eclipse运行一次,tomcat也运行了一次原创 2015-12-11 17:43:38 · 2455 阅读 · 0 评论 -
spring data solr 使用内嵌Solr服务器(单核)
1.如何在开发环境下配置spring datasolr来使用嵌入式Solr Server 可以根据官方给出的案例项目(spring-data-book),找到带有Embedded的类,即是使用嵌入式的solrServer,优点:不用自己配置环境,就可以学习使用spring data solr,注意:在该类中,被@after注解的函数内,包含删除数据并关闭EmbeddedSolrServer。原创 2015-04-15 11:47:50 · 15933 阅读 · 2 评论 -
CAS 自定义数据源
# 自定义数据源在deployConfigContext.xml文件中,找到org.jasig.cas.authentication.AcceptUsersAuthenticationHandler,首先去掉默认的用户配置,添加上自定义的dataSource,并配置查询密码的sql,及自定义的加密类passwordEncoder,配置完成如下所示: <bean id="原创 2015-09-26 10:31:27 · 1268 阅读 · 0 评论 -
CAS Server端配置
版本:cas4.0修改 deployerConfigContext.xml: primaryAuthenticationHandler -->--> value="select password from ft_user_account where username=?">原创 2015-08-15 14:54:21 · 538 阅读 · 0 评论 -
CAS Client端配置
版本:cas4.0修改web.xml: org.jasig.cas.client.session.SingleSignOutHttpSessionListenerCAS Single Sign Out Filterorg.jasig.cas.client.session.SingleSignOutFilterCAS Single Sign Out原创 2015-08-15 14:55:13 · 741 阅读 · 0 评论 -
CAS设置证书
1. 制作证书http://wenku.baidu.com/view/13a57761783e0912a2162a94.html或http://lixor.iteye.com/blog/15326552. 如果Tomcat报异常,上面的办法太麻烦,下面有一个简单的方法;Failed to initialize end point associated with Pr原创 2015-08-15 14:53:22 · 1118 阅读 · 0 评论 -
Java多线程——自旋锁
没有获得锁的调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,这就是`自旋锁`,他不用将线城阻塞起来(NON-BLOCKING);互斥锁 最常使用于线程同步的锁;标记用来保证在任一时刻,只能有一个线程访问该对象。原创 2017-01-12 15:25:46 · 1674 阅读 · 0 评论 -
【spring-jms】DefaultMessageListenerContainer
DefaultMessageListenerContainer 分析 org.springframework.jms.listener.DefaultMessageListenerContainermaven<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId原创 2017-02-07 16:56:14 · 4134 阅读 · 0 评论 -
【DIY】代码调用栈
代码调用栈,调用栈,调用次数,耗时,执行时间,StopWatchs原创 2017-10-26 15:47:40 · 370 阅读 · 0 评论 -
【DIY】实现一个缓存管理器
RedisCacheManager 仿 Spring Cache@Cacheable存储缓存@CacheEvict缓存清除group 作用@Cacheable 用于存储一类业务的缓存Key@CacheEvict 用于清理一类业务的缓存原理:在redis中建立一个以 group 命名的 list 创建缓存时,在 list 中 push 缓存的key 删除时,从 list 中获取所有的 k原创 2017-10-26 16:25:06 · 1701 阅读 · 0 评论 -
关于log4j
Log4j 是如何获取 类名、函数名、行数的 见 org.apache.log4j.spi.LocationInfo.LocationInfo(Throwable t, String fqnOfCallingClass)源码分析 Object[] noArgs = null; // 获取函数调用栈 Object[] elements = (Object[]) getSt原创 2017-02-07 16:57:39 · 535 阅读 · 0 评论 -
【maven】如何构建一个可执行的 war
介绍一下"项目独立运行与发布",这里提供两种方案runnable waradd below to ++pom.xml++<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <e原创 2017-02-17 15:32:19 · 1511 阅读 · 0 评论 -
并发编程——可见性
http://ifeve.com/concurrency-visibility/这个有人看了吗?关于volatile、并发安全☞可见性的文章只要我修改一段代码,加不加volatile,其结果都是一样的,是为什么?while (!getStop()) { i++; sleep(); // 休眠1s}给出两个观点: 1. 由于频繁访问 stop ,所以CPU会把该变量一直放到缓存区域原创 2017-01-20 16:01:21 · 252 阅读 · 0 评论 -
分布式事务——Spring.ChainedTransactionManager
代码:https://github.com/JPCui/demos/tree/master/demo-chained-transactionmanager1. 因为之前用过spring-data-neo4j,里面的事务使用了分布式事务的配置;参考:http://docs.spring.io/spring-data/data-neo4j/docs/3.0.x/reference/htmlsingle...原创 2015-12-01 14:47:52 · 14665 阅读 · 0 评论 -
Java集合——神奇的SynchronousQueue
SynchronousQueue总的来说,队列同时最多只保持一个元素,但对外不可见,想要直到里面的元素是什么,必须取出来,所以peek()是不可用的(永远返回null)。别的blog中介绍的已经很详细了,这里就把API注释搬过来罢。 一种阻塞队列,其中每个插入操作必须等待另一个线程的对应移除操作,反之亦然。同步队列没有任何内部容量原创 2017-01-12 17:22:00 · 380 阅读 · 0 评论 -
MyEclipse中jar包管理技巧
目前大家都会用MAVEN做项目构建,就省去下面各种乱七八糟的步骤了,再次推荐==================================================================================在用MyEclipse做企业级开发的过程中,我们经常会接触很多jar包,主要包括以下几类:一是应用服务器上的jar包,二是项目所需jar原创 2015-05-22 13:00:35 · 639 阅读 · 0 评论 -
jfreechart例子
一、饼图String[] rowKeys= null;//柱数据String[] columnKeys=null;//刻度数据rowKeys = new String[]{"219.146.1.196","219.146.10.105","219.146.10.116","219.146.10.73"};columnKeys原创 2015-05-22 12:26:35 · 447 阅读 · 0 评论 -
java.lang.OutOfMemoryError: PermGen space
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域转载 2015-05-22 12:21:53 · 8480 阅读 · 0 评论 -
spring data solr 之多核配置
参考:1.SpringData Solr文档 —— Example 2.3.LBSolrServer using Namespace2.Solrj API —— LBHttpSolrServer LBSolrServer可以自动切换配置的多个SolrServer的URL,即使你的zookeeper服务器全部挂掉,也还是可以实现切换访问各个core(当然zookeeper挂掉的话原创 2015-04-15 11:44:23 · 4077 阅读 · 0 评论 -
missing content stream
solr missing content stream原创 2015-04-15 11:42:39 · 2971 阅读 · 0 评论 -
排他
貌似一般项目不会用到,所以了解一下就ok===================================为了防止多用户同时操作,需要在修改之前做一次查询。你也不可能,在查询的时候,将数据库给锁住。原创 2015-04-15 11:13:19 · 595 阅读 · 0 评论 -
spring-data-neo4j 索引机制
SpringData Neo4j版本:3.0.1.release很抱歉,之前写的一些博客没有注明技术的版本号,之后会注意=======================================SDN中提供了一些索引类型:SIMPLE,LABEL,FULLTEXT,POINT——————————————————————————————1.默认情况下索引是LABE原创 2015-04-15 11:56:57 · 1967 阅读 · 0 评论 -
spring data solr 之SolrTemplate与权重设置
1.(SolrTemplate)Springdata solr 实现了springdata访问Solr存储,并提供了springdata jpa模型的访问方式,另外,springdata solr提供了一个更底层的SolrTemplate,以方便启动一个嵌入式的solr服务器,使用方法见案例。。。https://github.com/SpringSource/spring-data-solr原创 2015-04-15 11:46:22 · 8457 阅读 · 0 评论 -
Myeclipse——安装插件的3中方法(SVN)
Myeclipse——安装插件的3中方法原创 2015-04-15 11:07:01 · 405 阅读 · 0 评论 -
为什么不要用 StringBuffer 和 Vector
把贴吧一大神(那十无忧)的文章总结到此:http://tieba.baidu.com/p/1443344962#0-qzone-1-78428-d020d2d2a4e8d1a374a433f596ad1440--------------------------------------------------------------------------------------------转载 2015-04-23 16:18:57 · 940 阅读 · 0 评论 -
线程中的wait,notify
在调用wait的时候,线程会释放其占用的对象锁,例子如下:public class Demo implements Runnable { private static final Logger logger = Logger.getLogger(Demo.class); public void run() { logger.info("我开始运行了原创 2015-04-23 17:00:03 · 416 阅读 · 0 评论 -
JMS之activeMQ--点对点通信
点对点通信的通信双方需要各开两个线程,即发送线程和接收线程从上图看到,A的send 与 B的receive 使用同一条通道,A的receive 与 B的send 使用另一条相同的通道,在activeMQ中通道即消息队列;参考博客:http://blog.csdn.net/iamfafa/article/details/6264587原创 2015-04-15 11:02:13 · 540 阅读 · 0 评论 -
多线程资源共享的问题
线程共享,线程同步原创 2015-04-23 15:34:44 · 2333 阅读 · 11 评论 -
浅谈clone与引用
(1)obj3 是 obj1 的引用,所以它们指向同一块内存;(2)obj2 是 obj1 克隆出来的,所以它们指向的不是同一块内存,而属性却指向同一块内存,但修改obj2 不会影响obj1、obj3的属性值;(3)由于obj1、obj3指向同一块内存,所以更改其中一个对象的属性,另一个对象的属性都会发生变化;(4)可以认为obj2 是 obj1的深拷贝;obj3 是 obj1 的浅拷贝;原创 2015-05-21 22:01:45 · 726 阅读 · 0 评论 -
java.lang.LinkageError: loader constraint violation: when resolving method "org.slf4j.impl.StaticLog
java.lang.LinkageError: loader constraint violation,slf4j日志异常:java.lang.LinkageError: loader constraint violation: when resolving method "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg原创 2015-05-05 12:46:26 · 5291 阅读 · 0 评论 -
Exception in thread "main" java.lang.IllegalMonitorStateException
IllegalMonitorStateException - if the current thread is not the owner of the object's monitor.根据官方注释解释,“当前线程不是对象管理者的所有者”。下面有两个例子:1. 慎用Integer等数字类型做为共享资源public class Demo2 extends Thread{原创 2015-05-04 11:01:55 · 8195 阅读 · 1 评论 -
Java Thread 理论与实践: 处理 InterruptedException
很多 Java™ 语言方法,例如 Thread.sleep() 和Object.wait(),都可以抛出 InterruptedException。您不能忽略这个异常,因为它是一个检查异常(checked exception)。但是应该如何处理它呢?在本月的Java 理论与实践中,并发专家 BrianGoetz 将解释 InterruptedException 的含义,为什么会抛出 I转载 2015-04-29 11:19:47 · 504 阅读 · 0 评论 -
Java上传图片
源自新浪微博抓取——今天在做发表微博时,需要预上传图片(先把图片上传到新浪服务器),上传的部分是用java完成的,一开始,我是把图片以字节流的方式读取,然后又把字节转成字符串,最后再把字符串转回字节,网上说这是一种自己给自己挖坑然后跳进去再想办法跳出来的行为,一直不能成功,后来才发现不能把字节转换成字符串的,否则图片会出现错误。参考博客:http://blog.cs原创 2015-04-15 10:57:06 · 662 阅读 · 0 评论 -
日志配置
1、maven引用 org.slf4j slf4j-log4j12 1.7.5 2、log4j.propertieslog4j.rootLogger=DEBUG,consolelog4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender原创 2015-04-15 10:55:30 · 606 阅读 · 0 评论 -
Neo4j 节点索引NodeIndex
1.优点对于实体来说,它的每个属性都可以做为索引来使用,从而是检索效率大大提高; 2.原理在杨使用批量导入的时候,是没有建立索引的,所以我们从此入手,分析NodeIndex(节点索引)的原理: 使用restapi手动创建索引:节点索引NodeIndex" title="Neo4j 节点索引NodeIndex" height="161" width="690">原创 2015-04-15 11:55:27 · 3010 阅读 · 0 评论 -
Java多线程——IllegalMonitorStateException
今天学习了一下线程,用vector和Integer分别作了一个例子,但Integer老是非法异常,后查了一下,发现Integer不能作为线程同步的对象原创 2015-04-22 15:50:37 · 564 阅读 · 0 评论