- 博客(38)
- 资源 (2)
- 收藏
- 关注
原创 java 动态代理
spring aop 用到动态代理public interface Animal { void say();}public class Person implements Animal { @Override public void say() { System.out.println("=====hello"); }...
2019-04-18 16:42:20 150
转载 redis持久化的几种方式
redis持久化的几种方式1、前言Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到...
2019-03-29 15:28:30 158
转载 nginx 匹配规则
语法规则: location [=|~|~*|^~] /uri/ { … }= 表示精确匹配,这个优先级也是最高的^~ 表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。~ 表示区分大小写的正则匹配~* 表示不区分大小写的正则匹配(和上面的唯一区别就...
2019-03-28 16:29:10 294
原创 nginx server_name解析
nginx会解析http header里的host 找到匹配的server_name 如果没有则用默认的 或者第一个禁止ip访问:server { listen 80; server_name _; return 404;}server { listen 80;...
2019-03-28 14:31:27 3331
原创 快速排序
public static void quickSort(int []arr, int low, int height){ if(low>height){ return; } //基准数 int i = low, j = height; int key = arr[i]; while (i<j){ whi...
2019-03-14 14:32:39 138
转载 生产者消费者问题
容器:public class SynList { private int index = 0; private static final int MAX = 5; private Wotou []data = new Wotou[MAX]; public synchronized void push(Wotou wotou){ while ...
2019-03-12 16:25:18 100
原创 选择排序
public static void sort(int []arr, int length){ int min, temp; for(int i=0; i<length-1; i++){ min = i; for(int j=i+1; j<length; j++){ if(arr[j]<arr[min])...
2019-03-11 10:49:30 103
原创 冒泡排序
public static void main(String[] args) { int []arr = {23, 9, 1, 56, 90, 3}; for(int i=0; i<arr.length; i++){ System.out.println(arr[i]); } System.out.println("===========...
2019-03-11 10:32:45 87
转载 分布式锁(redis实现)
@Bean Redisson redissonSentinel() { //支持单机,主从,哨兵,集群等模式 //此为哨兵模式 Config config = new Config(); config.useSentinelServers() .setMasterName("mymast...
2019-03-08 17:21:18 148
转载 c3p0配置
数据库连接池C3P0框架是个非常优异的开源jar,高性能的管理着数据源,这里只讨论程序本身负责数据源,不讨论容器管理。 一、实现方式:C3P0有三种方式实现:1.自己动手写代码,实现数据源例如:在类路径下配置一个属性文件,config.properties,内容如下:driverClass=xxxjdbcUrl=xxxuser=xxx
2015-11-23 16:01:09 381
转载 分布式系统与集群的区别
集群或者群集是指所有的设备共同完成相同的功能,每一个设备的功能都是完整的,但是在外界看来是一个设备。 分布式是所有的设备集结后,共同组成一个体系,相互之间协同工作,同时又各自完成自己的相应的工作,但是所有的功能不是在一个设备上,而是由不同的设备完成,但是由一个设备作为统一的接入点和协调点。 简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间
2015-10-20 13:44:18 3368
转载 java io
写在前面:本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面。照旧,文章依旧以例子为主,因为讲解内容的java书很多了,我觉的学以致用才是真。代码是写出来的,不是看出来的。最后欢迎大家提出意见和建议。【案例1】创建一个新文件123456
2015-06-15 16:27:26 394
原创 GenericServlet为什么有两个init方法
init(ServletConfig config)负责初始化config对象,次方法调用了init() 后者没有任何实现,后者的作用是让开发者在继承此类的时候重写init()方法,不要继承init(ServletConfig config),从而避免了因为没有调用super.init(config)儿没有对config初始化。
2015-06-12 11:04:39 569
原创 HttpServlet为什么有两个service方法
service(ServletRequest req, ServletResponse res) 从父类继承而来把客户端的请求跳转到service(HttpServletRequest req, HttpServletResponse resp) 后者负责把标准请求转发到doXXX方法。
2015-06-12 10:51:49 1176
转载 mysql创建索引
为mysql数据库建立索引前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过一些开发,但却对如何为数据库建立适当的索引所知较少,因此我起了写一篇相关文章的念头。 最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述
2015-05-29 09:20:54 345
转载 mysql 存储过程
1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控
2015-05-28 09:31:12 312
转载 数据库多表连接查询
首先我们做两张表:员工信息表和部门信息表,在此,表的建立只为讲述连接的概念,所以字段非常的简单 EmployeeTB(员工信息表): employeeid employeename deptid 0001 张三 01 0002 李四 01 0003 王五 02 0004 赵六 02 0005 郑七 NULL DeptTB(部门信息表)
2015-05-26 16:48:23 417
原创 hibernate二级缓存
CacheConcurrencyStrategy.NONE CacheConcurrencyStrategy.READ_ONLY ,只读模式,在此模式下,如果对数据进行更新操作,会有异常; CacheConcurrencyStrategy.READ_WRITE ,读写模式在更新缓存的时候会把缓存里面的数据换成一个锁,其它事务如果去取相应的缓存数据,发现被锁了,直接就去数据库查询
2015-04-29 09:28:18 280
转载 Hibernate 所有缓存机制详解
hibernate提供的一级缓存hibernate是一个线程对应一个session,一个线程可以看成一个用户。也就是说session级缓存(一级缓存)只能给一个线程用,别的线程用不了,一级缓存就是和线程绑定了。hibernate一级缓存生命周期很短,和session生命周期一样,一级缓存也称session级的缓存或事务级缓存。如果tb事务提交或回滚了,我们称session就关闭了,生命
2015-04-24 16:19:53 318
转载 Tomcat虚拟根目录与虚拟目录
一、虚拟根目录1. Tomcat 的默认根目录:D:\apache-tomcat-7.0.42\webapps\ROOT2. 只能有一个默认根目录3. 一个 默认根目录只能映射一个 “文件系统目录”启动Tomcat后,在浏览器地址栏输入:http://localhost:8080/,访问的其实就是tomcat虚拟根目录下的index.jsp文件。
2015-04-17 14:51:35 575
转载 tomcat项目部署
一、静态部署1、直接将web项目文件件拷贝到webapps 目录中 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如
2015-04-17 14:24:29 313
转载 jsp内置对象
jsp request 对象详解 查看文章 JSP内置对象12007-08-29 10:511.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。序号
2015-04-10 15:19:09 290
翻译 java 动态代理学习(Proxy,InvocationHandler)
/** * 相亲接口 * * @author zhengt * @time Jun 3, 2095 3:13:03 PM */ public interface XiangQinInterface { /** * 相亲方法 */ public void xiangQin(); } /**
2015-04-03 10:03:49 314
转载 数据库隔离级别
数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现 ×: 不会出现脏读不可重复读幻读Read uncommitted√√√Re
2015-03-13 11:53:20 293
原创 hibernate iterate list 区别
iterate: String sql = "from Bigque where id <= 5"; String sql2 = "from Bigque where id <= 6"; BigqueDAO dao = new BigqueDAO(); Session session = dao.getSession(); Iterator it = sessi
2015-03-13 10:34:20 480
原创 hibernate load() get() 区别
load 延迟加载返回代理对象,等到用得时候再查询数据库在同一个session中两次load相同的对象,第一次查询数据库,第二次缓存中查找没有抛异常get不延迟,立马发送SQL从数据库中查找在同一个session中两次get相同的对象,第一次查询数据库查,第二次缓存中查找没有返回null
2015-03-13 09:57:03 266
原创 hibernate load()
在使用load()方法查找不存在的ID时 调用load()并不会立即报错org.hibernate.ObjectNotFoundException 而是在发出sql语句后才报错
2015-02-12 17:48:13 345
原创 hibernate 级联修改删除
一对一:student addresspublic class Student{ int id; String name; Address address; @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy="student") pu
2015-01-30 17:30:25 492
原创 hibernate deleted object would be re-saved by cascade (remove deleted object from associations)的异常
一对多 删除多端 oneOfMany.delete(),同时one.getMany().remove(oneOfMany);
2015-01-30 09:13:13 417
转载 hiernate集合映射
CollectionMapping 类public class CollectionMapping {// 私有对象private Integer id;private String name;private String[] strValues;private List listValues = new ArrayList();
2015-01-16 15:50:04 330
转载 hibernate的三种状态
深入hibernate的三种状态学过hibernate的人都可能都知道hibernate有三种状态,transient(瞬时状态),persistent(持久化状态)以及detached(离线状态),大家伙也许也知道这三者之间的区别,比如瞬时状态就是刚new出来一个对象,还没有被保存到数据库中,持久化状态就是已经被保存到数据库中,离线状态就是数据库中有,但是session中不存在该对象。但是大家又
2015-01-14 11:11:59 342
原创 ssh2开发过程中的问题
mysql里字段(外键)设置为不能为空 设置一个默认值,但是在给此类的对象赋值时如果不设置子属性的值,则报错 why???
2015-01-10 17:32:07 352
原创 struts2中文编码问题
在action中打印为乱码 在struts.xml中添加 tomcat server.xml中添加 URIEncoding="UTF-8"
2015-01-07 09:43:49 296
原创 ssh2整合返回json报异常
所报异常:org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: java.lang.IllegalAccessException: Cla
2015-01-06 15:41:29 386
原创 spring事务异常捕获问题
BaseServiceImpl:@Overridepublic boolean addSubject(School school,String name) {boolean result = true;Subject sub = null;Subject sub1 = null;try{sub = new Subject();sub.setSubjectName
2015-01-06 11:33:17 808
原创 spring空指针异常
鉴于每个daoImpl都要声明一个hibernateTemplate 所以创建一个父类(此类里声明hibernateTemplate) 让所有daoImpl都继承此父类配置文件如下: 类的实现:父类public class SuperDao { private HibernateTemplate hibe
2014-12-30 13:56:09 1001
原创 spring struts2 整合 action 注入service 报错NullPointerException
报错配置错误原因:action里的属性名字(schoolService)和注入的(schoolServiceIm)不一致。但是在service注入dao名字不一致 正常运行
2014-12-26 11:06:29 528
转载 hibernate主键生成策略
increment这个是由Hibernate在内存中生成主键,每次增量为1,不依赖于底层的数据库,因此所有的数据库都可以使用,但问题也随之而来,由于是Hibernate生成的,所以只能有一个Hibernate应用进程访问数据库,否则就会产生主键冲突,不能在集群情况下使用插入数据的时候hibernate会给主键添加一个自增的主键,但是一个hibernate实例就维
2014-08-14 14:25:29 435
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人