自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 设计模式---观察者模式

结构图模式中的角色抽象主题(Subject):它把所有观察者对象的引用保存到一个聚集里,每个主题都可以有任何数量的观察者。抽象主题提供一个接口,可以增加和删除观察者对象。具体主题(ConcreteSubject):将有关状态存入具体观察者对象;在具体主题内部状态改变时,给所有登记过的观察者发出通知。抽象观察者(Observer):为所有的具体观察者定义一个接口,在得到主题通知时更新自己。具体

2017-08-14 00:22:01 284

原创 设计模式---单例模式

优点节约资源允许可变数量资源缺点没有抽象层,扩展困难违背单一职责场景任务管理器日志应用,否则日志文件不好追加数据库连接池Servlet单例多线程

2017-08-13 23:54:58 495

原创 设计模式---策略模式

结构图优点策略可以自由切换避免使用多重判断条件扩展性良好场景策略模式适用于当一个应用程序需要实现一种特定的服务或者功能,而且该程序有多种实现方式时使用。

2017-08-13 23:36:36 377

原创 设计模式---代理模式

结构图优点对外提供统一的接口访问,通过对真实类封装附加操作,从而在不影响外部调用的情况下,进行系统扩展。比如真实操作要添加一个校验动作,可以不修改原操作方法,在外封装一层方法,该方法进行校验动作,然后调用真实方法,对外的调用接口仍然不变。开闭原则。场景RPC代理虚拟代理,在加载一些耗时资源类时,未完成时可通过代理类显示其他动作,完成后再委托加载好的类进行操作。 http://blog.csdn

2017-08-13 01:23:55 397

转载 spring AOP

spring AOP是利用代理模式,在运行时生成目标对象的代理,并且使用代理对象代替目标对象,整个过程对使用者透明,使用者无法像使用目标对象一样使用代理对象,代理对象类型是目标对象所属类的子类或者接口实现,这个子类也是在运行时动态生成,这个生成子类的过程使用操作字节码技术,Spring框架中使用两种字节码生成技术:JDK动态代理和CGLIB,当目标类实现了接口时使用JDK动态代理,否则使用CGLIB

2017-08-13 00:41:25 323

原创 设计模式---工厂模式

简单工厂模式工厂方法模式抽象工厂模式比较简单工厂模式最大优点在于解耦,对于上层业务不需要去理解类的实现,如果代码中出现100次new一个类,当这个类构建多了一个参数时,需要修改100次,使用工厂模式只需要修改工厂方法即可,代码耦合性降低。工厂方法模式相对于简单工厂模式,符合开闭原则,因为简单工厂在工厂中添加了逻辑判断,增加类的时候需要修改工厂方法体,而工厂方法模式只需要继承工厂接口进行扩展即可,

2017-08-13 00:26:09 327

原创 spring IOC和DI

Java中的每个业务逻辑需要多个对象来协作完成,每个对象在使用依赖的对象时,需要手动new object()来硬编码创建,对象间的耦合度高。而IoC的思想是,spring容器来实现这些相互依赖对象的创建、协调工作,这些对象只需要了解业务逻辑本身。IoC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过DI(Dependency Injection,依赖注入)来实现的。

2017-08-12 13:59:54 215

原创 test

博客测试

2017-06-29 17:39:40 263

原创 JAVA中二叉树的常用算法

二叉树的遍历先序遍历递归方法public static void preOrder1(TreeNode root){if (root != null) { System.out.print(root.value+" "); preOrder1(root.left); preOrder1(root.right);}}非递归方法中序遍历后序遍历层次遍历

2017-06-29 16:17:54 327

原创 Java--interrupt(),interrupted(),isInterrupted()

interrupt()interrupt()方法用于线程中断,调用该方法的线程状态被置为“中断”状态。注意:线程中断仅仅是置线程的中断状态位,不会停止线程。需要用户自己去监视线程的状态为并做处理。支持线程中断的方法(也就是线程中断后会抛出interruptedException的方法)就是在监视线程的中断状态,一旦线程的中断状态被置为“中断状态”,就会抛出中断异常。代码示例:public cl

2017-06-14 11:10:56 305

转载 Java枚举详解

语法(定义)创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum 类的子类(java.lang.Enum 是一个抽象类)。枚举类型符合通用模式 Class Enumpublic enum EnumTest { MON, TUE, WED, THU, FRI, SAT, SUN;}这段代码实际上调用了7次 Enum(String name, int or

2017-06-12 11:02:57 342

原创 Form表单问题

form表单里的button按钮,在没有设置type属性的时候,会默认设置为submit,因此即使我们给这个按钮添加了点击事件,绑定的点击事件运行完后仍然会提交表单,导致页面刷新。 代码如下:<form id="searchTable"> <span style="font-size:14px">报表名称:</span> <span> <input type="te

2017-05-18 09:50:11 358

转载 线程池

一. 概述执行并发任务时,我们可以把任务传递给一个线程池,来替代为每个并发执行的任务都启动一个新的线程,只要池里有空闲的线程,任务就会分配一个线程执行。在线程池的内部,任务被插入一个阻塞队列(BlockingQueue),线程池里的线程会去取这个队列里的任务。 利用线程池的三大好处: 1. 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗 2. 提高响应速度。当任务到达时,任

2017-05-10 10:53:00 383

转载 Callable、Future和FutureTask

线程的实现有两种方式: 1. 继承Thread 2. 实现Runnable接口这两种缺陷都有一个缺陷,在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦 而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。 今天我们就来讨论一下Callable、

2017-05-09 10:43:32 245

原创 Java 可变参数函数的使用

Java创建可变长度参数函数有两种办法,一种是传一个对象数组类型,另一个是使用Varargs机制(“…”)。代码:public class Test { public static void main(String[] args) { System.out.println(judgeCache("hahha", -1L)); System.out.printl

2017-05-05 18:50:17 634

原创 SIP协议-注册过程概述

注册过程注册过程图 Carol使用记录地址“sip:[email protected]”在SIP注册服务器的chicago.com域注册。chicago.com域的代理服务器将使用Carol的注册,将Carol的记录地址拿到定位服务中查询,找到真实终端地址,然后路由到Carol的真实终端。注册描述 如果用户要发起和另一个用户的会话,SIP必须发现可到达目的用户的当前主机。(代理服务器和重

2017-04-30 00:48:33 1581

原创 java自定义注解实现对象到xml配置的转换

前后端交互经常会涉及到接口的提供问题,后端提供的接口经常要反馈给前端,在工作中发现给前端提供接口的时候,需要按照一定格式写成xml(或者json文本)导入系统给前端人员使用,但是那么多接口一个个写成xml很烦,然后自己试着引入自定义注解,来将接口生成为xml文件。自定义注解用于进行接口和参数的注释注解代码Information.javaimport java.lang.annotation.El

2017-04-28 18:13:09 922

原创 DOM4J XML解析

从文件中读取并解析xmlxml文件module01.xml<?xml version="1.0" encoding="UTF-8"?> <modules id="123"> 测试 <module> 这个是module标签的文本信息</module> 哈哈哈 </modules> xml测试import java.io.File;import org.dom4

2017-04-25 20:37:25 399

原创 JSON字符串解析

将JSON字符串解析为对象-JSON字符串为: {"201704":{"4227":"0","4149":"1.50"},"201703":{"4245":"1","4244":"0"}}-解析:String data = "{\"201704\":{\"4227\":\"0\",\"4149\":\"1.50\"},\"201703\":{\"4245\":\"1\",\"4244\":\"0\"

2017-04-24 20:21:45 379

原创 JSON字符串解析

将JSON字符串解析为对象-JSON字符串为: {"201704":{"4227":"0","4149":"1.50"},"201703":{"4245":"1","4244":"0"}}-解析:String data = "{\"201704\":{\"4227\":\"0\",\"4149\":\"1.50\"},\"201703\":{\"4245\":\"1\",\"4244\":\"0\"

2017-04-24 20:21:36 331

原创 JdbcTemplate和mysql对接中遇到的问题总结

Mysql中常见的数据类型由于通过queryForList(sql)获取List<Map<String, Object>>数据时,经常会遇到类型转换异常问题,所以对常用数据库类型向java类型转换进行总结。 -int -JdbcTemplate获取时会作为Integer进行处理,需要将其转型为Integer -decimal -JdbcTemplate获取时会作为BigDecimal进行

2017-04-22 11:40:02 1153

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除