51CTO博客开发
参考java并发编程的艺术一书中,对ConcurrentHashMap的讲解ConcurrentHashMap使用的是分段锁Segment来保证不同的Segment区域互相不干扰,不存在锁竞争关系,从而提升map的效率.由于ConcurrentHashMap中存放的是Segment数组,每个Segment持有一个锁,和HashEntry数组.定位一个key应该在哪个segment中非常重要,如果大
先抛出问题。以下两个方法声明有毛区别:@RequestMapping(value = "/rg") public void rg(@PathVariable Long pageId, @PathVariable Long moduleId) { &nb
搭建一个新工程时,想使用最新稳当版的springmvc,所以选择了最新的版本 <dependency>  
以下内容是翻译的官网文档RedLock和分区部分,可以简单了解分布式锁在redis如何实现及其方式redis分区的方法redis实现的分布式锁RedLock算法,分布式锁,即在多个master上获取同一个锁1.in order to get the lock,the client get the current ms time2.顺序对n个实例获取锁权限(n个都是master),尝试锁时,设置连接
我们经常会看到这样的语法(byte) 0xAD0xAD实际是个16进制,转换成二进制为:10101101,转换成10进制是:173,它是个正数10101101只是int的简写,int由4个byte字节,即32位bit组成,实际的值是(00000000 00000000 00000000 )10101101劳资醉了,写了半天,保存的时候只保存了一部分,傻的51cto,再写一次int由4 byte组成
velocity的标签中支持$abc 这样的语法,如果abc是一个对象,则写模板时就可以利用它来进行反射,调用一些危险的方法,如$vm.getClass().newInstance()#set ($exec = "kxlzx")$exec.class.forName("java.lang.Runtime").getRuntime().exec("calc")通过反射,
结合网上两篇博文http://www.cnblogs.com/iteakey/p/4109983.html http://blog.csdn.net/smith789/article/details/7174627 对项目中的遇到的异常进行分析:2016-02-23 10:12:27,408 [3698334] ERROR - on.c
目前需要在一个action中根据不同的参数,引导跳转到不同的页面,虽然response可以直接sendRedirect,但是不怎么优雅,没有配置化直观、优雅。下面的代码仅为示例,亲测可用public String validateUser(){ if(1==1){ &nb
对js对象原型的测试:<html> <head> <title> 了解prototype </title> <script type="text/javascript"> function baseClass(){ //对象方法 this.showMsg=function(){ co
根据教程http://blog.csdn.net/kuangkunkui/article/details/7902822先配置cas server下载地址 http://downloads.jasig.org/ 里面还有client,但是现在的client包引入基本使用maven方式,因此没有必要下载先生成jvm的证书,keytool是jre自带的,因此配置了Java_ho
项目中需要用到包扫描的情况是很多的,一般是在项目初始化的时候,根据一些条件来对某个package下的类进行特殊处理。现在想实现的功能是,在一个filter或interceptor初始化的时候,扫描指定的一些package路径,遍历下面的每个class,找出method上使用了一个特殊注解的所有方法,然后缓存起来,当方法拦截器工作的时候,就不用再挨个判断方法是否需要拦截了&
参考cglib资料:http://www.tuicool.com/articles/IVfANr 实现逻辑为,对service类用cglib包装,让其调用方法改成异步调用,Future、线程池对service方法的返回对象也用cglib包装,使其带有LazyLoad的功能主要点:对cglib需要处理的类信息缓存,提高效率,通过lazyload,让用户不需要修改自己的代码,通过配置的方式就能进行异步
我已经不是第一次遇到像要判断对象是否存在了,依据对象是否存在做相应的处理,比如var hasSomething ="0"; if(jQuery("#tid").val()){ hasSomething="1" }之前一直没有记录,第二次需要这种判断的时候就拿不准这么写是否正确<!DOCTYPE html> <htm
http://88250.b3log.org/full-text-search-elasticsearchhttp://www.cnblogs.com/zhengyun_ustc/p/55solution6.htmlhttp://solr-vs-elasticsearch.com/https://www.elastic.co/guide/index.htmles安装http://www.nosql
ThreadLocal的特点是每一个线程对应的对象都只与当前线程有关,当在全局声明一个使用了ThreadLocal的对象时,在每个线程调用它时,都会有一个自己线程对应的拷贝,而赋值则是由def initialValue() 或set方法来完成的我们要实现了一个Protocol层,它内部会保留一个socket连接class ThreadLocalProtocol {
solr+tomcat部署实践:以前也没有仔细使用过tomcat,今天终于迎来了第一次,激动引用网页:http://cdc.zhaopin.com/infomation/Industryinfo/contentinfo?articleid=1626169459&Category=160400和http://martin3000.iteye.com/blog/807503,http://wi
lucene是一个很好的java全文搜索框架,利用它,我们可以对大量文件进行索引,继而查询,实现一个快速搜索的应用。 建议大家看一下 google的《数学之美与浪潮之巅》,了解一些算法与理论即可。 网上有一篇文章也写得相当好,附链接http://blog.csdn.net/forfuture1978/article/details/4711308,读完这
有一些服务,在线上不能同时运行,此时就需要一个文件锁来判断程序是不是已经有一个实例在运行了。得益于一个老大贡献代码,特别粘在这里。import java.io.File; import java.io.FileOutputStream; import java.nio.channels.FileLock /** * Created by IntelliJ IDEA. * User:
最近项目开发中遇到了一些不明的尴尬情况,程序运行很长时间都不退出,导致服务崩溃。经过分析,可能会是sql查询永久性等待(与ORM有关)、maven打包前执行maven clean命令,也可能是还没有想到的原因。。。为了解决这个大bug,至少在原因明了之前暂时应付。我写了一个监控程序运行时间并强制退出的功能,多少安心了。附scala代码,java自然也是大同小异的。import org.joda.t
iframe,自适应高度
spring声明式事务:(还有一种是编程式事务,需要在写代码时自己色图AutoCommit(false),然后自己进行commit和rollback) <!-- ================================事务相关控制================================================= --&g
scala-springmvc-hibernate scala上使用springmvc、hibernate与在java上使用相同,内存数据库,jsp前端 mvc: <bean id="viewResolver" class="
本文转载自:http://www.cnblogs.com/rushoooooo/archive/2011/08/28/2155960.html 项目使用SSH架构,现在要添加Spring事务管理功能,针对当前环境,只需要添加Spring 2.0 AOP类库即可。添加方法: 点击项目右键->Build&
一、 IoC(Inversion of control): 控制反转 1、IoC: 概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系 核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean&nbs
java虚拟机内存原型 寄存器:我们在程序中无法控制 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 堆:存放用new产生的数据 静态域:存放在对象中用static定义的静态成员 常量池:存放常量 非RAM存储:硬盘等永久存储空间 Java内存分配中的栈 栈的基本单位是帧(或栈帧): 每当一个java线程运行的时候, java虚拟机会为该线程分
MVC模式的优缺点: 一、mvc原理 mvc是一种程序开发设计模式,它实现了显示模块与功能模块的分离。提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。它主要分模型、视图、控制器三层。 1、模型(model)它是应用程序的主体部分,主要包括业务逻辑模块(web项目中的Action,dao类)和数据模块(pojo类
一、引言 Java虚拟机(JVM)的类装载就是指将包含在类文件中的字节码装载到JVM中, 并使其成为JVM一部分的过程。JVM的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块, 而不影响系统其他功能模块的正常运行。本文将分析JVM中的类装载系统,探讨JVM中类装载的原理、实现以及应用。 二、Java虚拟机的类装载实现与应用 2.1 装载过程简介 所谓装载就
java依赖于JVM来执行程序,JVM负责了诸如GC、部分常量、对象新建时分配内存地址等工作,如果没有JVM这么辛勤努力的工作,java代码也不会这么容易编写。 JVM堆和栈是及其重要的。 栈:负责存放部分常量,-128~127的常量是固定放在栈中的,因为他们在代码中出现频率极高 堆:使用new关键字新建对象时,JVM在堆中为其分配内存 ---------- 在一些规模稍大的应用中,Ja
Java 理论与实践: 正确使用 Volatile 变量 简介: Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的 Java 理论与实践 中,Brian Goetz 将介绍几种正确使用 vo
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号