摘要: 本文分别对Cookie与Session做一个介绍和总结,并分别对两个知识点进行对比分析,让大家对Cookie和Session有一个更深入的了解,并对自己的开发工作中灵活运用带来启示。 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。IETF RFC 2965 HTT 阅读全文
posted @ 2016-03-21 15:01 ljdgm 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 也许有朋友会问,既然都可以通过synchronized来实现同步 阅读全文
posted @ 2016-03-21 13:45 ljdgm 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 最近我问了很多Java开发人员关于最近12个月内他们使用的是什么大数据工具。 这是一个系列,主题为: 语言 web框架 应用服务器 SQL数据访问工具 SQL数据库 大数据 构建工具 云提供商 今天我们就要说说大数据。根据维基百科,大数据是数据集的一个广义的术语,并且该数据集是如此庞大和复杂,以致于 阅读全文
posted @ 2016-03-21 13:39 ljdgm 阅读(1078) 评论(0) 推荐(0) 编辑
摘要: 序列化与反序列化 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等。在网络传输过程中,可以是字节或是XML等格式。而字节的或XML编码格式可以还原完全相等的对象。这个相反的过程又称为反序列化。 Jav 阅读全文
posted @ 2016-03-21 13:38 ljdgm 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 不论你是否关注,Java Web应用都或多或少的使用了线程池来处理请求。线程池的实现细节可能会被忽视,但是有关于线程池的使用和调优迟早是需要了解的。本文主要介绍Java线程池的使用和如何正确的配置线程池。 我们先从基础开始。无论使用哪种应用服务器或者框架(如Tomcat、Jetty等),他们都有类似 阅读全文
posted @ 2016-03-21 13:14 ljdgm 阅读(3379) 评论(0) 推荐(0) 编辑
摘要: 长生剑、孔雀翎、碧玉刀、多情环、离别钩、霸王枪、拳头是古龙笔下的七种武器,而本文打算将Redis的几种使用方式 Strings、Hashs、Lists、Sets、Sorted Sets、Pub/Sub、Transactions 也比作七种武器,为大家讲解Redis的七种特性,并列举其适合的应用场景。 阅读全文
posted @ 2016-03-21 13:08 ljdgm 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memca 阅读全文
posted @ 2016-03-21 13:07 ljdgm 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 了解Java虚拟机的运行时数据区之后,大致知道了虚拟机内存的概况,内存中都放了些什么,接下来将了解内存中数据的其他细节,如何创建、如何布局、如何访问。这里虚拟机以HotSpot为例,内存区域以Java堆为例,深入探讨HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程。 (一)对象的创建 阅读全文
posted @ 2016-03-21 13:01 ljdgm 阅读(392) 评论(0) 推荐(0) 编辑
摘要: java做的系统给人的印象是什么?占 内存!说道这句话就会有N多人站出来为java辩护,并举出一堆的性能测试报告来证明这一点。其实从理论上来讲java做的系统并不比其他语言开发出来的 系统更占用内存,那么为什么却有这么N多理由来证明它确实占内存呢?两个字,陋习。(1)别用new Boolean()。 阅读全文
posted @ 2016-03-21 13:01 ljdgm 阅读(23767) 评论(0) 推荐(1) 编辑
摘要: Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存 阅读全文
posted @ 2016-03-21 12:59 ljdgm 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 对于JAVA多线程的应用非常广泛,现在的系统没有多线程几乎什么也做不了,很多时候我们在何种场合如何应用多线程成为一种首先需要选择的问题,另外关于java多线程的知识也是非常的多,本文中先介绍和说明一些常用的,在后续文章中如果有必要再说明更加复杂的吧,本文主要说明多线程的一下几个内容: 1、在应用开发 阅读全文
posted @ 2016-03-21 12:51 ljdgm 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 在程序中你可能时常会需要将别的类型转化成String,有时候可能是一些基础类型的值。在拼接字符串的时候,如果你有两个或者多个基础类型的值需要放到前面,你需要显式的将第一个值转化成String(不然的话像System.out.println(1+’a')会输出98,而不是”1a”)。当然了,有一组St 阅读全文
posted @ 2016-03-21 12:07 ljdgm 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。 以 阅读全文
posted @ 2016-03-21 12:01 ljdgm 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 四、JMS消息服务 讲消息队列就不得不提JMS 。JMS(JAVA Message Service,java消息服务)API是一个消息服务的标准/规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。 在EJB架构中,有消息bea 阅读全文
posted @ 2016-03-21 12:00 ljdgm 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一部分为读书笔记,一部分是个人经验总结。对大型分布式网站架构有很好的参考价值。 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络攻击 功能多 阅读全文
posted @ 2016-03-21 11:58 ljdgm 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。 这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。 阅读全文
posted @ 2016-03-21 11:54 ljdgm 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎 对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索 引,因为这是平常使用M... 阅读全文
posted @ 2015-11-25 20:50 ljdgm 阅读(652) 评论(1) 推荐(0) 编辑
摘要: ;;;;;;;;;;;;;; 4.0.0 ;;; asia.banseon ;;; banseon-maven2 ;;; jar ;;; 1.0-SNAPSHOT ;;; banseon-maven ;;; http://www.baidu.com/banseon ;;; A maven proje... 阅读全文
posted @ 2015-11-19 22:58 ljdgm 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:李小翀链接:http://www.zhihu.com/question/22764869/answer/31277656来源:知乎系统架构演化历程-初始阶段架构<img data-rawheight="367" ... 阅读全文
posted @ 2015-11-16 00:00 ljdgm 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 基本概念 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法? 答案是肯定的。 这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射(Reflection)机制。 Java反射机制主要提供了以下功能: ... 阅读全文
posted @ 2015-11-15 23:49 ljdgm 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 大规模流量的网站架构,从来都是慢慢“成长”而来。而这个过程中,会遇到很多问题,在不断解决问题的过程中,Web系统变得越来越大。并且,新的挑战又往往出现在旧的解决方案之上。希望这篇文章能够为技术人员提供一定的参考和帮助。以下为原文当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程... 阅读全文
posted @ 2015-11-15 23:44 ljdgm 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 前言 一个成熟的大型网站(如淘宝、天猫、腾讯等)的系统架构并不是一开始设计时就具备完整的高性能、高可用、高伸缩等特性的,它是随着用户量的增加,业务功能的扩展逐渐演变完善的。在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系... 阅读全文
posted @ 2015-11-15 23:40 ljdgm 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 0x00nop 什么都不做0x01aconst_null将null推送至栈顶0x02iconst_m1 将int型-1推送至栈顶0x03iconst_0 将int型0推送至栈顶0x04iconst_1 将int型1推送至栈顶0x05iconst_2 将int型2推送至栈顶0x06iconst_3... 阅读全文
posted @ 2015-11-09 00:22 ljdgm 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 先看看下面的代码会输出什么: public static void main(String[] args) { Integer i = 127; Integer j = 128; Integer ii = 127; Integer jj = 128; System.out.println( i==i... 阅读全文
posted @ 2015-11-08 04:01 ljdgm 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 先看看下面的代码能不能编译通过: public static void main(String[] args) { List l1 = new ArrayList(); List l2 = new ArrayList(){}; List l3 = new ArrayList(){{}}; Syste... 阅读全文
posted @ 2015-11-08 03:59 ljdgm 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 静态内部类和非静态内部类的区别:1. 静态内部类不持有外部类的引用在普通内部类中,可以直接访问外部类的属性、方法,即使是private类型也可以,这是因为内部类持有外部类的引用,可以自由访问。而静态内部类只能访问外部类的静态方法和静态属性,如果是private也能访问,其他则不能访问。2. 静态内部... 阅读全文
posted @ 2015-11-08 03:56 ljdgm 阅读(1810) 评论(0) 推荐(0) 编辑
摘要: 在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念。理解这几个概念可以更好地帮助你去了解一些基本的原理。下面是初学者晋级中级水平需要知道的一些问题。Q.下面的代码片段中,行A和行B所标识的代码有什么区别呢?public class ConstantFolding {static fi... 阅读全文
posted @ 2015-11-08 03:52 ljdgm 阅读(3688) 评论(0) 推荐(0) 编辑
摘要: 泛型(又称类型检验):这个是发生在编译期的。编译器负责检查程序中类型的正确性,然后把使用了泛型的代码翻译或者重写成可以执行在当前JVM上的非泛型代码。这个技术被称为“类型擦除“。换句话来说,编译器会擦除所有在尖括号里的类型信息,来保证和版本1.4.0或者更早版本的JRE的兼容性。List myLis... 阅读全文
posted @ 2015-11-08 03:51 ljdgm 阅读(549) 评论(0) 推荐(0) 编辑
摘要: Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到final是如何... 阅读全文
posted @ 2015-11-08 03:38 ljdgm 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可... 阅读全文
posted @ 2015-11-08 03:35 ljdgm 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 对于JAVA多线程的应用非常广泛,现在的系统没有多线程几乎什么也做不了,很多时候我们在何种场合如何应用多线程成为一种首先需要选择的问题,另外关于java多线程的知识也是非常的多,本文中先介绍和说明一些常用的,在后续文章中如果有必要再说明更加复杂的吧,本文主要说明多线程的一下几个内容:1、在应用开发中... 阅读全文
posted @ 2015-11-08 03:31 ljdgm 阅读(3077) 评论(0) 推荐(0) 编辑
摘要: 网上看到过很多关于spring事务管理的东西,但是原创的并不多,如果你的运气好能看到那些原创的文章恭喜你,因为我看到的不多,但一些原创的文 章里面枝叶太多,因为那些高手直接把自己的代码拷过来,所以说无疑给一些初学者或一些目前知识面有限的读者带来了很大的困难,本人就去掉枝叶,只给主干1,配置sessi... 阅读全文
posted @ 2015-11-01 23:13 ljdgm 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 1.在写我的springmvc demo时,由于要向前台返回相关信息,于是设置了@ResponseBody,但是要把对象转换成json格式,我却没有在xml文件里配置,所以报如下错误:HttpMediaTypeNotAcceptableException: Could not find accept... 阅读全文
posted @ 2015-11-01 23:09 ljdgm 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 我们都知道spring提供两种管理事务的方式,一种是声明式事务,一种是编程式事务。Spring的声明式事务管理,基于Spring的AOP,不再需要不停地写commit,rollback,(但Spring仍然没有放弃编程式的事务管理策略)。Spring的编程式事务管理,为我们提供了一个Transact... 阅读全文
posted @ 2015-11-01 23:05 ljdgm 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 1.DispatcherServlet SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet。 DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截... 阅读全文
posted @ 2015-11-01 22:58 ljdgm 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 在java开发中日志的管理有很多种。我一般会使用过滤器,或者是Spring的拦截器进行日志的处理。如果是用过滤器比较简单,只要对所有的.do提交进行拦截,然后获取action的提交路径就可以获取对每个方法的调用。然后进行日志记录。使用过滤器的好处是可以自己选择性的对某一些方法进行过滤,记录日志。但是... 阅读全文
posted @ 2015-11-01 22:52 ljdgm 阅读(551) 评论(0) 推荐(0) 编辑
摘要: AOP的配置方式有2种方式:xml配置和AspectJ注解方式。今天我们就来实践一下xml配置方式。 我采用的jdk代理,所以首先将接口和实现类代码附上packagecom.tgb.aop;publicinterfaceUserManager{publicStringfindUserById(i... 阅读全文
posted @ 2015-10-31 21:53 ljdgm 阅读(199) 评论(0) 推荐(0) 编辑
摘要: execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)除了返回类型模式(上面代码片断中的ret-type-pattern),名... 阅读全文
posted @ 2015-10-31 20:17 ljdgm 阅读(394) 评论(0) 推荐(1) 编辑
摘要: 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下... 阅读全文
posted @ 2015-10-31 14:16 ljdgm 阅读(592) 评论(1) 推荐(0) 编辑
摘要: 新换环境,又有新东西可以学习了,哈皮! 抽空学习之余看了一下redis,个人对Springmvc的爱是忠贞不渝,所以整理了一下Springmvc整合redis的环境搭建。分享学习。 第一步: 创建maven项目: 实例pom.xml内容如下 4.0.0 war orm-bae c... 阅读全文
posted @ 2015-10-31 00:12 ljdgm 阅读(508) 评论(0) 推荐(0) 编辑