- 博客(254)
- 资源 (40)
- 收藏
- 关注
转载 从代码层读懂 Java HashMap 的实现原理
概述Hashmap继承于AbstractMap,实现了Map、Cloneable、Java.io.Serializable接口。它的key、value都可以为null,映射不是有序的。Hashmap不是同步的,如果想要线程安全的HashMap,可以通过Collections类的静态方法synchronizedMap获得线程安全的HashMap。Map map = Collectio
2017-03-22 13:53:30 2493
转载 spring AOP 中 advice 的四种类型 before after throwing advice around
spring AOP(Aspect-oriented programming) 是用于切面编程,简单的来说:AOP相当于一个拦截器,去拦截一些处理,例如:当一个方法执行的时候,Spring 能够拦截正在执行的方法,在方法执行的前或者后增加额外的功能和处理。在Spring AOP中支持4中类型的通知:1:before advice 在方法执行前执行。2:after ret
2016-12-14 16:03:34 2948
原创 javax.xml.namespace.QName 解释以及作用JDK
最近在搞webService调用,使用到了QName这个类,经过查找JDK以及一些资料,才明白这个累的作用。 QName 英文全名: qualified name 中文翻译:表示 XML 规范中定义的限定名称QName 的值包含名称空间 URI、本地部分和前缀。QName 中包括前缀,以保留词汇信息(当在 X
2016-12-07 16:17:56 15795 1
转载 spring中为什么要使用IOC
开篇前言在前面的博文中,小编主要简单的介绍了spring的入门知识,随着学习的深入,我们知道spring最核心的两大技术,IOC和AOP,这两个技术也是spring最耀眼的地方,在后续的博文中小编将隆重介绍IOC和AOP,今天这篇博文,小编先简单的介绍一下,IOC是什么?在spring中为什么要使用IOC?IOC的优缺点以及IOC的应用。IOC是什么?控制反转(Invers
2016-08-04 16:14:13 6619
转载 深入浅出spring IOC中三种依赖注入方式
spring的核心思想是IOC和AOP,IOC-控制反转,是一个重要的面向对象编程的法则来消减计算机程序的耦合问题,控制反转一般分为两种类型,依赖注入和依赖查找,依赖什么?为什么需要依赖?注入什么?控制什么?依赖注入和控制反转是一样的概念吗?接触新的知识,小编的脑袋中全是大大的问号,不过没有关系,今天这篇博文,小编主要来简单的介绍一下在spring IOC中依赖注入的方法。依赖注入和控制反转,
2016-08-04 16:13:24 1775
转载 深入浅出SpringMvc 入门
Spring MVC框架是有一个MVC框架,通过实现Model-View-Controller模式来很好地将数据、业务与展现进行分离。从这样一个角度来说,Spring MVC和Struts、Struts2非常类似。Spring MVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。通过可配置的handler mapp
2016-08-04 16:11:48 2070
转载 mybatis的框架原理+入门程序解析
在前面的博文中,小编介绍了springmvc的相关知识点,在今天这篇博文中,小编将介绍一下mybatis的框架原理,以及mybatis的入门程序,实现用户的增删改查,她有什么优缺点以及mybatis和hibernate之间存在着怎么样的关系,接下来小编一一进行讲解,希望对小伙伴们有帮助,不足之处,还请多多指教。什么是mybatis?MyBatis 本是apache的一个开源项目iBatis
2016-08-04 16:09:05 3516 1
原创 java jre和jdk
一直以来,很多刚开始开发的人员对jre和jdk都有点模糊的概念,不太能够分清楚两者之间有什么区别,现就个人见解来讲解。 JRE全称: Java Runtime Enviroment JDK全称: Java Development Kit Java的源代码是以*.java的纯文本文件,可以使用任何文本编辑器来进行编写,但是这个源代码是无法执行的。执行源
2016-07-27 09:19:03 619
转载 数据库连接池性能比对
背景对现有的数据库连接池做调研对比,综合性能,可靠性,稳定性,扩展性等因素选出推荐出最优的数据库连接池 。 提示: 本文所有测试均是MySQL库测试结论 1:性能方面 hikariCP>druid>tomcat-jdbc>dbcp>c3p0 。hikariCP的高性能得益于最大限度的避免锁竞争。 2:druid功能最为全面,sql拦截等功能,
2016-07-26 09:03:40 403
原创 tomcat 与 weblogic 区别
TomcatWeblogic是否收费 免费收费兼容性tomcat和商业开发软件Jbiulder是不兼容的兼容性比较好Web容器支持html/jsp/servlet支持html/jsp/servletEJB容器不支
2016-07-19 09:07:25 6962 1
转载 9个基于Java的搜索引擎框架
转载 codeceo 原文连接:http://www.codeceo.com/article/8-java-search-engine.html 本文由码农网 – 小峰原创,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划!在这个信息相当繁杂的互联网时代,我们已经学会了如何利用搜索引擎这个强大的利器来找寻目标信息,比如你会在Google上搜索情人节如何讨女朋友欢心,你也会在
2016-07-06 09:17:48 330
转载 【深入Java虚拟机】之五:多态性实现机制——静态分派与动态分派
方法解析 Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引用,称为动态连接,也有一部分方法的符号引用在类加载阶段或第一次使用时转化为直接引用,这种转化称为静态解析。这在前面的“Java内存区域
2016-06-24 11:03:34 356
转载 【深入Java虚拟机】之四:类加载机制
类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Jav
2016-06-24 11:01:08 348
转载 【深入Java虚拟机】之三:类初始化
类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Java程序代码。虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化:遇到new、getstatic、putstatic、invokestatic这四条字节码指令时,如果类还没有进行过初始化,则需要先触发其初始化。生成这四条指令最常见的Java代码场景是:使用new关键字实例化对象时、读取或设置一个类的静态字段(
2016-06-24 10:59:07 222
转载 【深入Java虚拟机】之二:Class类文件结构
平台无关性 Java是与平台无关的语言,这得益于Java源代码编译后生成的存储字节码的文件,即Class文件,以及Java虚拟机的实现。不仅使用Java编译器可以把Java代码编译成存储字节码的Class文件,使用JRuby等其他语言的编译器也可以把程序代码编译成Class文件,虚拟机并不关心Class的来源是什么语言,只要它符合一定的结构,就可以在Java中运行。Java语言中的各种变
2016-06-24 10:51:36 260
转载 深入Java虚拟机(1):Java内存区域与内存溢出
内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所存储的数据类型。 程序计数器(Program Counter Register) 一块较小的内存空间,它
2016-06-24 10:47:10 350
转载 电商系统的高并发设计和挑战
相对于传统商业模式来说,电子商务带来的变革使人们足不出户便能享受到购物的乐趣,十几二十年前,很难想象几亿中国人能够在双十一一天产生几百亿的消费。同时,大流量带来了高并发的问题,其中针对技术人员尤为突出的是高并发系统的设计,它与普通系统设计的区别在于既要保障系统的可用性、可扩展性,又要兼顾数据一致性,还要处理多线程同步的问题。任何细微问题,都有可能在高并发环境下被无限的放大,直至系统宕机。操
2016-06-15 09:27:23 642
转载 现代银行集中式业务系统及数据整合
随着互联网和移动互联网的普及,互联网金融也日益进入人们的日常生活。当前互联网金融方兴未艾,各种新颖高效的金融产品层出不穷。随之而来的是日益激烈的竞争。在这次金融革新的大潮中,传统银行暂时处于相对保守的态势。但是这并代表传统银行不能重新占据主动。银行拥有极其详细的金融信息。只要对数据进行深度挖掘,银行完全可以在金融革新的大潮中重新占据主动地位。传统银行的优势是银行业务系统的集中式交易系统。这
2016-06-15 09:24:38 1979
原创 浅析 Redis 复制
摘要早期的 RDBMS 被设计为运行在单个CPU之上,读写操作都由经单个数据库实例完成,复制技术使得数据库的读写操作可以分散在运行于不同CPU之上的独立服务器上.Redis作为一个开源的、优秀的key-value缓存及持久化存储解决方案,也提供了复制功能,本文主要介绍Redis的复制原理及特性。Redis复制概论数据库复制指的是发生在不同
2016-06-02 14:31:33 3445
转载 Java 虚拟机结构分析
本博文主要介绍了JVM(Java Virtual Machine)的组成部分以及它们内部的工作机制和原理。需要注意的是,虽然平时我们用的大多是Sun(现已被Oracle收购)JDK提供的JVM,但是JVM本身是一个规范,所以可以有多种实现,除了Hotspot外,还有诸如Oracle的JRockit、IBM的J9也都是非常有名的JVM。1. 结构下图展示了JV
2016-06-02 14:24:59 287
转载 Java内存区域与内存溢出(JVM)
内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所存储的数据类型。 程序计数器(Program Counter Register)
2016-06-02 14:20:06 467
转载 Servlet - 会话跟踪
会话跟踪HTTP本身是“无状态”协议,它不保存连接交互信息,一次响应完成之后即连接断开,下一次请求需要重新建立连接,服务器不记录上次连接的内容.因此如果判断两次连接是否是同一用户, 就需要使用会话跟踪技术来解决.常见的会话跟踪技术有如下几种:URL重写: 在URL结尾附加会话ID标识,服务器通过会话ID识别不同用户.隐藏表单域: 将会话ID埋入HTML表单隐藏域提交到服务端
2016-06-01 14:20:22 791
原创 Druid实现数据库连接用户密码加密
地址URL:Druid官网https://github.com/alibaba/druid/wiki/%E4%BD%BF%E7%94%A8ConfigFilter实例地址URL:http://my.oschina.net/ydsakyclguozi/blog/511997使用ConfigFilterConfigFilter的作用包括: 从配置文件中读取配置
2016-04-08 14:56:01 26703
原创 java代码分析及分析工具
一个项目从搭建开始,开发的初期往往思路比较清晰,代码也比较清晰。随着时间的推移,业务越来越复杂。代码也就面临着耦合,冗余,甚至杂乱,到最后谁都不敢碰。作为一个互联网电子商务网站的业务支撑系统,业务复杂不言而喻。从09年开始一直沿用到现在,中间代码经过了多少人的手,留下了多少的坑,已经记不清楚了,谁也说不清了。代码的维护成本越来越高。代码已经急需做调整和改善。最近项目组专门设立了一个
2016-04-06 17:48:27 590
转载 java 常用五种排序
//冒泡排序 //依次比较相邻的两个元素,通过一次比较把未排序序列中最大(或最小)的元素放置在未排序序列的末尾。 public static void BubbleSort (int data[]) { for (int i = 0; i for (int j = 0; j if (data[
2016-03-28 14:35:06 478
原创 java 六大原则
接近java快三年了,很多东西都是只知道含义和思想,却没有自己深入的去研究下。现对java的六大原则来解释,自己的理解。1.类单一职责 一个类只负责一项职责,不要存在多余一个职责导致类的变更。 比如:类A负责两个不同的职责,b,c职责。由于b职责需求发生变化而需要改变A类,原本运行正常的c职责出现故障。2.里氏替换原则 1.子类可以实现
2016-03-24 23:27:40 1861
转载 java 五大创建型模式
一、概况总体来说设计模式分为三大类:(1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。(2)结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。(3)行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、
2016-03-14 22:55:00 787
转载 java 结构型模式
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。其中适配器模式主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。其中的对象的适配器模式是各种结构型模式的起源。一、适配器模式适配器模式主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。适配器模式将某个类的接口转换成客户端期
2016-03-14 22:53:37 391
转载 Java内存模型及GC原理java内存模型 Java内存模型及GC原理 Java内存模型及GC原理 sun官方网站:sun java 虚拟机模型 Java内存模型及GC原理 JVM内存模型中分两
java内存模型JVM内存模型中分两大块,一块是 NEW Generation, 另一块是Old Generation. 在New Generation中,有一个叫Eden的空间,主要是用来存放新生的对象,还有两个Survivor Spaces(from,to), 它们用来存放每次垃圾回收后存活下来的对象。在Old Generation中,主要存
2016-03-14 22:43:32 347
转载 Java 内存模型及GC原理
一、Java内存模型按照官方的说法:Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。JVM主要管理两种类型内存:堆和非堆,堆内存(Heap Memory)是在 Java 虚拟机启动时创建,非堆内存(Non-heap Memory)是在JVM堆之外的内存。简单来说,堆是Java代码可及的内存,留给开发人员使用的;非堆是JVM留给自己
2016-03-14 22:41:19 325
原创 mybaties 多个参数传参的三种解决方案
最近项目要使用mybaties开发,遇到了传参数问题。现在有三种方案可解决: 1.DAO层的函数方法 1Public Area selectArea(String name,String area);对应的Mapper.xml ?123 selec
2016-03-10 14:26:44 1271
转载 Java开发中的23种设计模式详解
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真
2016-02-23 21:41:18 394
原创 oracle 语句修改字段类型
有一个表名为tbc,字段段名为name,数据类型nchar(20)。1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tbc modify (name nvarchar2(20));2、假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tbc modify (name nvarchar2(20))
2016-01-26 17:41:22 1136
原创 springMVC + hibernate jar整合 (包含log4j)
springMVC+hibernate整合 url: http://zz563143188.iteye.com/blog/1825168 一、jar文件介绍:1.提前准备的jar antlr-2.7.7.jar ANTLR (ANother Tool for Language Recognition)是一个PCCTS 制定的语言工具,它为他创建
2015-12-03 10:36:55 2325
转载 JSP文件是否有必要放在WEB-INF下
观点一:(较为赞同) 安全性不是真正的原因,因为jsp是要解析后才显示到浏览器的,即使用户知道你jsp的路径,也不可能通过浏览器看到jsp源码的,而如果是通过其它手段入侵服务器的话,放在WEB-INF又和放在别的地方有什么区别呢?真正的原因是,对于早期直接嵌入java代码的jsp,是直接给出jsp路径给用户访问的,这种情况恰恰不能放在WEB-INF,而到了现在的mvc模式,jsp
2015-12-03 09:55:09 490 1
原创 uploadify 上传图片附件问题
在项目中遇到了上传多张图片问题,还需要时时上传后展示图片,就用uploadify做了这个功能,供大家参考借鉴。$('#file_upload').uploadify({ buttonText : '上传图片', auto : true,//自动上传 progressData :
2015-12-03 08:55:11 904
原创 Uploadify 3.2 参数属性、事件、方法函数详解以及配置
一、属性属性名称默认值说明autotrue设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 。buttonClass”按钮样式buttonCursor‘hand’鼠标指针悬停在按钮上的样子buttonImagenull
2015-12-03 08:46:12 3288
转载 Nginx+tomct 动静分离实现负载均衡
0.前期准备 使用Debian环境。安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等。 1.一份Nginx.conf配置文件 1 # 定义Nginx运行的用户 和 用户组 如果对应服务器暴露在外面的话建议使用权限较小的用户 防止被入侵 2 # user www www; 3 4 #Nginx进程数, 建议设置为等于CPU总核心数
2015-12-03 08:42:00 1383
zookeeper基于paxos算法的资料。
2019-05-20
srpingboot jsp
2017-09-14
springboot自定义拦截器filter
2017-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人