J2EE
酷酷的糖先森
当你的才华还撑不起你的野心时,那就应该静下心来学习吧。
展开
-
七牛使用总结:图片流量优化压缩策略
图片流量优化压缩策略我们通常都希望使用七牛提供的服务对自己的图片进行压缩,这样可以在加载图片的时候减少下载流量,下面介绍一些常见的对图片进行压缩的方法:本例中用到的测试图片是:http://7xkr3o.com1.z0.glb.clouddn.com/testdemo.jpg大小:1.7 MB 分辨率:width: 790,height: 26821.使用我们的imageView2或者imageMo原创 2016-04-12 17:53:36 · 5726 阅读 · 0 评论 -
Eclipse快捷键 10个最有用的快捷键
Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。 1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*原创 2015-12-18 16:05:41 · 18568 阅读 · 5 评论 -
Hibernate 缓存概述
一、Hibernate缓存概述Hibernate中提供两个级别的缓存,一级缓存和二级缓存。1.一级缓存是Session级别的缓存,它属于事物范围的缓存,一级缓存有hibernate进行管理。2.二级缓存是sessionFactory级别的缓存,它属于进程范围的缓存,二级缓存又可分为”内置缓存”和”外置缓存”,内置缓存:是hibernate在创建sessionFactory时会加载.hbn.xml文件原创 2016-08-19 10:59:27 · 961 阅读 · 0 评论 -
Java实现LRU缓存
1.CacheCache对于代码系统的加速与优化具有极大的作用,对于码农来说是一个很熟悉的概念。可以说,你在内存中new 了一个一段空间(比方说数组,list)存放一些冗余的结果数据,并利用这些数据完成了以空间换时间的优化目的,你就已经使用了cache。 有服务级的缓存框架,如memcache,redis等。其实,很多时候,我们在自己同一个服务内,或者单个进程内也需要缓存,例如,lucene就对搜原创 2016-09-06 21:07:41 · 980 阅读 · 1 评论 -
用java语言实现事件委托模式
事件委托模式是一个比较常用的设计模式,但是Java语言本身没有对其做一定的封装,因此实现起来有一定难度(了解原理后很简单),相比之下.NET就容易了很多。身为一个Java爱好者,怎么向这样一个小困难低头,但是上网搜索,却没发现相关解决方案,得,自己来做一个封装吧。其实结合例子更好,那么我就用一个小例子来引出这种设计模式。一个班级,有两类学生,A类:不学习,玩,但是玩的东西不一样,有的是做游戏,与的是原创 2016-10-24 07:37:56 · 787 阅读 · 0 评论 -
Java 异常分类及统一处理
一、异常分类java异常分为”检查”和”非检查”两类,”检查”二字的意思是,代码编译时,编译器会去Check一下有没有进行异常处理(捕获或向上抛),对于归类为需要检查的异常,若没处理,编译就过不去。初学的时候,常常想为啥异常要这样分类处理? 后来明白了些,异常不过两种:主观和客观,一个大多数情况下可以避免,一个大多数情况下无法避免。像NullPointerException这类异常,大多跟程序员素质原创 2016-11-08 12:23:26 · 1515 阅读 · 0 评论 -
RBAC 权限管理
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员”、“版主”都是角原创 2017-03-05 22:09:30 · 605 阅读 · 4 评论 -
node.js&pm2搭建node生产环境
本文以 centos 6.5 x64 为例node.js 下载地址 https://nodejs.org/en/download/stable/建议采用稳定编译过的版本,source code稍麻烦,编译过的直接可用,安装超级简单,红色的是centos X64可用地址。https://nodejs.org/dist/v5.7.1/node-v5.7.1-linux-x64.tar.xz1、下载安装原创 2017-03-14 22:31:12 · 2186 阅读 · 0 评论 -
Tomcat启动时卡在“INFO: Deploying web application directory ”
今天在linux上的tomcat部署一个网站时,在刚启动tomcat的时候提示启动成功,然后也能访问成功.可是第二次启动时虽然没有报错,但无法访问tomcat,查看了catalina.out日志,发现tomcat卡在了INFO: Deploying web application directory ……后来看了一篇博文解决了问题.在 $JAVA_HOME/jre/lib/security/java原创 2017-05-02 22:05:57 · 1530 阅读 · 1 评论 -
Java父类取得子类传递的泛型参数Class类型
import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import org.junit.Test; abstract class BaseDao<T> { public void getType() { //Class<E> clazz = (Class<E>) (原创 2017-04-24 10:52:00 · 5492 阅读 · 0 评论 -
Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushM
当我写数据的时候出现上面异常,查啊查,应该是保存数据时采用了默认的只读模式。网上的方法配置事务:1:<!-- 定义事务管理 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessi原创 2017-07-10 20:10:12 · 616 阅读 · 0 评论 -
解决Spring定时计划任务重复执行两次(实例被构造两次)问题的方法
今天在做一个项目的时候用到了spring的定时计划任务。这是Spring的特色功能,可以根据设置在特定的时间或间隔时间做特定的事。 下面给出一个例子:package net.csdn.blog.chaijunkukn; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Locale翻译 2017-07-18 10:17:45 · 1054 阅读 · 0 评论 -
【Java并发之】BlockingQueue
一、什么是BlockingQueueBlockingQueue即阻塞队列,从阻塞这个词可以看出,在某些情况下对阻塞队列的访问可能会造成阻塞。被阻塞的情况主要有如下两种:1. 当队列满了的时候进行入队列操作2. 当队列空了的时候进行出队列操作因此,当一个线程试图对一个已经满了的队列进行入队列操作时,它将会被阻塞,除非有另一个线程做了出队列操作;同样,当一个线程试图对一个空队列进行出队列操作时,它将会原创 2017-08-12 13:09:13 · 447 阅读 · 0 评论 -
ConcurrentLinkedQueue、AraayBlockingQueue、LinkedBlockingQueue 区别及使用场景
三者区别与联系:联系,三者 都是线程安全的。区别,就是 并发 和 阻塞,前者为并发队列,因为采用cas算法,所以能够高并发的处理;后2者采用锁机制,所以是阻塞的。注意点就是前者由于采用cas算法,虽然能高并发,但cas的特点造成操作的危险性,怎么危险性可以去查一下cas算法(但一些多消费性的队列还是用的它,原因看下边使用场景中的说明)后2者区别:联系,第2和第3都是阻塞队列,都是采用锁,都有阻塞容器原创 2017-08-14 22:09:07 · 486 阅读 · 0 评论 -
彻底理解ThreadLocal
ThreadLocal是什么早在JDK 1.2的版本中就提供Java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对原创 2017-08-12 12:06:41 · 2629 阅读 · 5 评论 -
Spring 整合 Quartz 实现动态定时任务(附demo)
最近项目中需要用到定时任务的功能,虽然Spring 也自带了一个轻量级的定时任务实现,但感觉不够灵活,功能也不够强大。在考虑之后,决定整合更为专业的Quartz来实现定时任务功能。普通定时任务首先,当然是添加依赖的jar文件,我的项目是maven管理的,以下的我项目的依赖:<dependencies> <dependency> <groupId>org.springframe原创 2016-05-01 18:57:24 · 66100 阅读 · 29 评论 -
Intellij IDEA 创建资源文件夹 source folder
之前用 eclipse 新建有一个 source folder ,后来转用 IDEA 之后发现,没有这个,只有普通文件夹,几经周转,解决了。 还是一样新建一个普通的文件夹: 好了下面,根据下面的图,选择你要转成 source folder 的文件夹,然后右键,选择画框的选项,如果在右边多了如下图一样的东西,就说明设置好了,你可以点 Apply 最后点 OK 你的普通文件夹,变成下面的标志就原创 2017-09-21 12:59:52 · 52075 阅读 · 7 评论 -
Java 单点登录系统 CAS 的简单使用
背景有几个相对独立的java的web应用系统, 各自有自己的登陆验证功能,用户在使用不同的系统的时候,需要登陆不同的系统。现在需要提供一个统一的登陆/登出界面, 而不修改各个系统原来的登陆验证机制。于是采用单点登录系统CAS。使用步骤要使用单点登录,需要部署CAS系统, CAS服务端可以直接部署在tomcat下运行, 对于CAS服务端来说,所有要集成单点登录的web应用都是它的一个客户端, CAS有原创 2017-10-09 17:19:30 · 771 阅读 · 1 评论 -
Mac OS安装RabbitMQ
1、安装在Mac下安装RabbitMQ是非常简单的,一般默认RabbitMQ服务器依赖的Erlang已经安装,只需要用下面两个命令就可以完成RabbitMQ的安装(前提是homebrew已经被安装):brew updatebrew install rabbitmq耐心等待,安装完成后需要将/usr/local/sbin添加到$PATH,可以将下面这两行加到~/.bash_profile:# Rab原创 2017-11-07 19:47:45 · 564 阅读 · 0 评论 -
spring-boot 集成 rabbitmq
本文主要说说Spring boot 集成另一个很火的mq。 示例主要参看官方的demo https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-amqp https://github.com/spring-projects/spring-amqp-samp原创 2017-11-02 16:33:13 · 469 阅读 · 0 评论 -
让浏览器不再显示 https 页面中的 http 请求警报,所有静态资源强制转https
HTTPS 是 HTTP over Secure Socket Layer,以安全为目标的 HTTP 通道,所以在 HTTPS 承载的页面上不允许出现 http 请求,一旦出现就是提示或报错:Mixed Content: The page at ‘https://www.tqcto.com/‘ was loaded over HTTPS, but requested an insecure imag原创 2017-12-13 10:36:09 · 10899 阅读 · 2 评论 -
git Your account has been blocked
今天早上一来,跟往常一样 pull代码,结果出错了。GitLab: Your account has been blocked. fatal: Could not read from remote repository.原因:查了半天,只是说git服务器上有人修改配置了,或者账号异常等等。在git的账号管理上,不少人都标记了blocked状态。经过查证:有技术人员对LDAP服务进行了修改/迁移,并原创 2017-12-25 10:07:33 · 3201 阅读 · 0 评论 -
一行命令搞定node.js 版本升级
node有一个模块叫 n ,是专门用来管理node.js的版本的。首先安装n模块:npm install -g n第二步:升级node.js到最新稳定版n stable是不是很简单?!n后面也可以跟随版本号比如:n v0.10.26或n 0.10.26就这么简单,这可怎么办??!!另外分享几个npm的常用命令npm -v #显示版本,检查npm 是否正确安装。npm install原创 2017-12-18 16:11:08 · 828 阅读 · 0 评论