- 博客(37)
- 资源 (1)
- 收藏
- 关注
转载 WebSphere连接池参数详解
应用程序读取数据库有2种方式,一种是直接连接数据库,一种是调用连接池。 1) 直连是程序直接创建物理连接,调用数据库进行数据读取。直连的创建会带来很大的系统开销,若程序中多处频繁使用直连,会造成应用服务器资源消耗过多,影响程序的性能。 2) 连接池是创建和管理一个物理连接的缓冲池,其中会保留一定数量创建的物理连接不关闭,当有客户端请求时,调用连接池,可以
2017-09-29 15:51:00 1722
转载 Java虚拟机工作原理详解
一、类加载器首先来看一下java程序的执行过程。 从这个框图很容易大体上了解java程序工作原理。首先,你写好java代码,保存到硬盘当中。然后你在命令行中输入[java] view plain copy javac YourClassName.java 此时,你的java代码就被编译成字节码
2017-09-25 15:01:54 294
转载 SSL协议详解
背景介绍 最近在看《密码学与网络安全》相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL。 在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识。 1、密码学的相关概念密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。明文(plain text):发送人、接受人和任何访问消息的人都能理解的消息。密文(cipher
2017-08-25 16:25:01 468
转载 TCP协议详解(含长连接短连接的详解)
一、TCP 通过以下方式提供可靠性:◆ 应用程序分割为TCP认为最合适发送的数据块。由TCP传递给IP的信息单位叫做报文段。◆ 当TCP发出一个报文段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能记时收到一个确认,它 就重发这个报文段。◆ 当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常延迟几分之一秒。◆ TCP将保持它首部和数据的检验和。
2017-08-22 17:48:45 1285
转载 高并发解决方案--负载均衡
1,什么是负载均衡?当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能。那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理。那么在这个过程中,调度者如何合理分配任务,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡问题。
2017-08-22 17:40:47 304
转载 如何处理java高并发问题---之页面静态化
解决java中的高并发问题可以从硬件软件等方面入手,硬件如:服务器;软件如:系统缓存、页面静态化等。这里我写的是页面静态化的简单小例子。之所以将这个小例子记录下来是因为之前对页面静态化有误解,原以为静态化页面就是在项目编写中前端页面利用html就可以。但是在参考网上资料后发现理解误差很大,以下是我在参考了一些网上资料后写的实现页面静态化的简单实例:项目结构图1.业务处理类S
2017-08-22 10:56:35 248
转载 Spring对注解(Annotation)处理源码分析1——扫描和读取Bean定义
1.从Spring2.0以后的版本中,spring也引入了基于注解(Annotation)方式的配置,注解(Annotation)是JDK1.5中引入的一个新特性,用于简化Bean的配置,某些场合可以取代XML配置文件。开发人员对注解(Annotation)的态度也是萝卜青菜各有所爱,个人认为注解可以大大简化配置,提高开发速度,同时也不能完全取代XML配置方式,XML方式更加灵活,并且发展的相对成
2017-08-18 16:31:03 278
转载 Spring注解原理的详细剖析与实现
一、注解的基本概念和原理及其简单实用注解(Annotation)提供了一种安全的类似注释的机制,为我们在代码中添加信息提供了一种形式化得方法,使我们可以在稍后某个时刻方便的使用这些数据(通过解析注解来使用这些数据),用来将任何的信息或者元数据与程序元素(类、方法、成员变量等)进行关联。其实就是更加直观更加明了的说明,这些说明信息与程序业务逻辑没有关系,并且是供指定的工具或框架使用的。Annot
2017-08-18 15:30:12 261
转载 HashMap的实现原理和底层数据结构
HashMap和Hashtable的区别两者最主要的区别在于Hashtable是线程安全,而HashMap则非线程安全Hashtable的实现方法里面都添加了synchronized关键字来确保线程同步,因此相对而言HashMap性能会高一些,我们平时使用时若无特殊需求建议使用HashMap,在多线程环境下若使用HashMap需要使用Collections.synchronized
2017-08-16 11:32:07 182
转载 hashmap工作原理一
HashMap的工作原理HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入让这道题变得更加复杂。让我们开始探索的旅程
2017-08-16 11:23:17 213
转载 Servlet单例多线程工作机制
Servlet如何处理多个请求访问?Servlet容器默认是采用单实例多线程的方式处理多个请求的:1.当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个Servlet实例);2.容器初始化化Servlet主要就是读取配置文件(例如tomcat,可以通过servlet.xml的设置线程池中线程数目,初始化线程池通过web.xml,初始化每个参数值
2017-08-04 17:36:50 225
转载 Servlet运行原理
一:servlet定义Servlet是一个Java应用程序,运行在服务器端,用来处理客户端请求并作出响应的程序。Servlet多线程体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。 当客户端第一次请求某个Servlet时,Servlet容器将会根据web.xml配置文件实例化这个Servlet类,此时它贮存于内存中。。当有新的客户端请求该Servl
2017-08-04 11:57:00 358
转载 java线程池原理
Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任
2017-08-03 18:12:30 288
原创 java准备知识点
1、支付的流程是什么?11 2、hibernate和mybatis的区别,优缺点 3、spring事务如何控制11 4、springmvc和struts流程控制的区别和优缺点 5、数据库连接池框架有哪些,优缺点 6、jndi和jdbc的区别 7、如何sql优化11 8、redis的运行原理,11 9、session共享如何实现,有什么缺点 10、tomcat的运
2017-08-03 18:11:23 176
转载 java发射机制获取属性,给属性设值
一个普通的实体Person:private int id;private String name;private Date createdTime;...//其它字段// get set方法...............现在需要把通过webService传过来的实体Person里面的所有字段的null值,换成""实现思路:1.获取实体的所有字段,遍历
2017-08-01 15:29:21 566
转载 HashMap总结
基本结构:链表结构:static class HashMapEntry implements Entry { final K key; V value; final int hash; HashMapEntry next; ......} 数组存储所有链表:transient Hash
2017-07-31 16:38:02 275
转载 JVM结构、GC工作机制详解
外话:最近在应聘阿里2015暑期实习,感触颇多。机会总是留给有准备的人的,所以平常一定要注意知识的巩固和积累。知识的深度也要有一定的理解,不比别人知道的多,公司干嘛选你?关于JVM和GC,我相信学Java的绝大部分人都听过,很多公司的面试官都爱问,一开始我也很头痛,问这么底层干什么,所以我每次面试也只是看看答案敷衍了事。最近面完阿里感觉真不能这样,知识不仅要知其然,还要知其所以然。其实弄懂了JVM
2017-07-31 10:29:06 189
转载 java项目几种常见数据库连接池的使用比较
作者曾经主持以及经历的几个产品及项目中,包括了各种数据库及应用服务器,基本上几种常见的数据库连接池都用到了,根据使用的情况把这些连接池比较一下吧。感觉在介绍之前有必要阐述一下连接池的几个概念,有助于后边一些文字的理解。最原始的数据库使用就是打开一个连接并进行使用,使用过后一定要关闭连接释放资源。由于频繁的打开和关闭连接对jvm包括数据库都有一定的资源负荷,尤其应用压力较大时资源占用比较多容易产生性
2017-07-28 18:15:45 1147 1
转载 JDBC和连接池知识点
1. JDBC介绍JDBC全称为:Java DataBase Connectivity(java数据库连接)。SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC。见图: 2.JDBC开发步骤@Testpublic void testJDBC() { Connection conn = null; PreparedStateme
2017-07-28 17:46:52 353
原创 简要介绍DES、RSA MD5 sha1 四种加密算法的优缺点
美国数据加密标准(DES)是对称密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。密钥较短,加密处理简单,加解密速度快,适用于加密大量数据的场合。RSA是非对称算法,加密密钥和解密密钥是不一样的,或者说不能由其中一个密钥推导出另一个密钥。密钥尺寸大,加解密速度慢,一般用来加密少量数据,比如DES的密钥。SHA1 和 MD5 是散列算法,将任意大小的数据映射到一个较小的、固定长度
2017-07-28 15:46:21 7125
原创 linux常见脚本命令
1、定位到大型文件中指定内容所在行,及前后若干行的数据。 grep -A 10 -B 5 '123' fileName 表示查看fileName文件含有字符串'123'对应所在行,后10行,前5行的内容,包含'123'所在的行。 其中A表示after,B表示before.
2017-07-27 16:05:02 423
转载 master-slave模式
主从关系。一般来说用在数据库集群比较多,主要是实现读写分离。对于数据库应用而言基本上是读大于写,因此由 Master 服务器负责增、删、改操作,由 Slave 负责读操作(也就是 SELECT),Master 一般只有一台,而 Slave 可以有好多台。Slave 与 Master 之间会有心跳数据包(一般数据库服务器会提供配置)。当 Master 有数据写入时 Master 会将
2017-07-27 16:02:08 4745
转载 redis面试总结
(1)什么是redis? Redis 是一个基于内存的高性能key-value数据库。 (有空再补充,有理解错误或不足欢迎指正)(2)Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每
2017-07-27 15:32:44 315
转载 Java Filter过滤机制详解
Java Filter过滤机制详解以前以为Filter只是一个特殊点的Servlet,用进只需在web.xml中配置一下拦截路径就可以了,可经过这两天的深入学习,才知道以前对Filter类的了解和使用都太过浅薄了。在网上看了很多篇相关的技术文章,现提取它们中的精髓(我认为能说明问题的东西)及我个人的一些学习经验作如下总结,希望能帮助大家更好地理解Filter的过滤机制。要学习Filte
2017-07-25 14:34:36 374
原创 java中常见的session种类
1、java中经常会看到session,但是每种session表示的类其实是不一样的。2、用的最多的是httpsession,也叫用户session,主要用在javaweb开发中,session共享,session超时设置之类所提的session就是httpsession。其次是hibernate中的session,这个是用于数据库持久层操作的session有了它可以方便的操作hibern
2017-07-24 18:04:08 3343
转载 java初级开发面试题全集(上)
2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。在修订的过程中,参照了当时JDK最新版本(Java 7)给出了题目的答案和相关代码,去掉了EJB 2.x、JSF等无用内容或过时内容,补
2017-07-24 17:43:05 2107
转载 java初级开发面试题全集(下)
这部分主要是开源Java EE框架方面的内容,包括hibernate、MyBatis、spring、Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题,如果需要了解相关内容,可以参考我的另一篇文章《Java面试题集(86-115)》。此外,这篇文章还对企业应用架构、大型网站架构和应用服务器优化等内容进行了简单的探讨,这些内容相信对面试会很有帮助。
2017-07-24 17:41:38 690
原创 中间件的意义
1、中间件位于用户应用程序和操作系统及网络环境之间的独立软件。它的存在是为应用程序和操作系统提供方便服务的,有了中间件,应用程序能方便简单的和操作系统之间交换数据。2、中间件相当于卖瓜老王,应用程序相当于吃瓜群众,操作系统相当于瓜农。有了卖瓜老王,吃瓜群众才能方便的吃到所有想吃的瓜农西瓜,不然的话,群众需要和每个瓜农完成交易。
2017-07-24 11:42:40 1083
转载 POJO和javabean的区别
OJO(Plain Old Java Object)这个名字用来强调它是一个普通java对象,而不是一个特殊的对象。2005年11月时,“POJO”主要用来指代那些没用遵从特定的Java对象模型,约定或框架如EJB的Java对象.理想地讲,一个POJO是一个不受任何限制的Java对象(除了Java语言规范)。例如一个POJO不应该是扩展预定的类,如 public c
2017-07-17 18:02:39 191
转载 公钥和密钥解释
先前我曾经写了一篇“网站的安全登录认证设计”,可能是讲述的不够清楚,有一位读者就留言质疑到,“公钥顾名思义就是公开的啦,只要你愿意,谁都会有你的公钥,何来安全?应该是用网站的公钥加密,传到网站后,网站用自己的私钥解密吧”。 这些密码学的概念容易被搞混淆,的确也情有可原。因为公钥、私钥、加密、认证这些都是较为复杂的问题,其概念不太容易理解,理解不透就容易产生各种似是而非的概念,为了让大家对于密
2017-07-10 18:14:26 520
转载 公钥与秘钥的理解
在现代密码体制中有保密和认证两种机制,一般发送者和接收者拥有自己的公钥和密钥,公钥是公开的,密钥不公开。 保密机制:A向B发送消息时,首先用B的公钥对消息进行加密,生成密文发送,B接收到密文后,用自己的密钥进行解密,进而得到消息原文。因为B公钥加密过的消息只有B的密钥才能解密,所以实现了保密功能。 认证机制:A向B发送消息时,首先用自己的密钥加密,B接收到密文后用A的公钥解密
2017-07-10 17:37:38 1640
转载 利用redis实现tomcat session共享
需要在tomcat的lib目录下放入引用jar包commons-pool-1.6.jarjedis-2.1.0.jar tomcat-redis-session-manager-1.2-tomcat-7.jar修改tomcat的conf目录下的context.conf文件,添加如下红字配置WEB-INF/web.xml
2017-07-10 11:13:35 324
转载 java高级开发面试题总结
面试题总结——JAVA高级工程师近期考虑换工作的问题,于是投简历面试,面试5家公司的高级Java工程师,有4家给了我offer,想着总结一下面试经验,方便最近正在寻求机会的你们一、无笔试题不知道是不是职位原因还是没遇到,面试时,都不需要做笔试题,而是填张个人信息表格,或者直接面试二、三大框架方面问题1、Spring 事务的隔离性,
2017-07-06 16:40:55 2541
转载 tomcat 原理详解
Tomcat简介 作者:杨晓(http://blog.sina.com.cn/u/1237288325)一、Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet, 这样Tomcat就诞生了。Tomc
2017-07-05 10:36:59 647
转载 Tomcat 6 JNDI数据源详解
数据库连接池这个概念应该都不陌生,在Java中连接池也就是数据库的连接池,它是一种采用连接复用的思想避免多次连接造成资源的浪费机制。最常见的连接池就是DBCP和C30P了,在tomcat中默认使用的DBCP的连接池,在Hibernate中则默认使用的是C3P0。他们的区别对于使用者来说最明显的就是,默认情况下DBCP不提供空闲连接的释放,需要手动开启。下面介绍下Tomcat中数据连接池的配
2017-07-04 15:19:51 163
转载 JNDI数据源的配置
一、数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下: ①加载数据库驱动程序(Class.forName("数据库驱动类");) ②连接数据库(Connection con = DriverManager.getConnection();) ③操作数据库(PreparedStatement stat = con.pr
2017-07-04 14:47:51 388
转载 Tomcat 原理
1 - Tomcat Server的组成部分 1.1 - Server A Server element represents the entire Catalina servlet container. (Singleton)1.2 - Service A Service element represents the combination of one or more Co
2017-07-04 11:02:55 148
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人