- 博客(123)
- 资源 (3)
- 收藏
- 关注
原创 使用mac开发的一个坑
使用mac开发的一个大坑前天在公司down下一个新项目,我们这几做这个项目的同事启动都不报错,就我的报错问了架构组的同学折腾了半天。把log日志位置改了一下就好了。貌似使用mac在开发的时候,项目不能随意新建文件改成一个项目可以直接使用的目录...
2019-04-26 16:00:06
568
原创 spring杂谈(3)
springMCV流程:一、初始化1.web.xml 配置一个DispatchServlet(启动的入口)2.默认加载我们的IOC容器(ApplicationContext)3.开始扫描springMVC的配置,一般来说(扫描注解)View的配置插件(拦截器、转换器、视图解析器(jsp,fremak))4.解析成一个HandlerMapping的list,主要是保存了url具体执行方法...
2019-01-26 20:17:04
280
原创 spring杂谈(2)
AOP编程,由Factory执行动作,IOC容器,肯定用了抽象工厂模式,默认实现,spring-aop 他是以spring-beans这个包作为依赖的,因为IOC容器中存放的就是FactorybeanAOP工厂生产出来的bean是而言放入到IOC容器中去的看源码最关键的是找到入口,也就是从Factory入手的,找到一个getBeab的方法上面这个方法就是用来获取一个代理以后的bean,跟I...
2019-01-25 15:02:45
289
1
原创 集合和映射(set and map)
集合回忆上次实现的二分搜索树不能放重复的元素有序集合和无需集合有序集合中的元素具有顺序性(基于搜索树的实现)无需集合中的元素没有顺序性(基于hash表的实现)多重集合集合中的元素可以重复映射 Map存储(键值)数据对的数据结构(key,value)根据key寻找value...
2019-01-25 12:18:04
213
原创 二分搜索树
树结构为什么要有树结构?比如家谱将数据使用树结构存储后,出奇的高效二分搜索树(Binary Search Tree)平衡二叉树:AVL;红黑树堆;并查集线段树;tire(字典树,前缀树)二分搜索树(Binary Search Tree)和链表一样,动态的数据结构二叉树(多叉树)二叉树具有唯一的根节点二叉树最多有2个孩子二叉树的每个节点最多有一个父亲节点二叉...
2019-01-24 15:18:41
250
原创 spring杂谈(1)
spring源码参观工厂内部,学会找入口IOC1、定位资源(定位查找配置文件)2、加载(已经找到配置文件)3、注册(已经记载好配置文件解析出来,并封装成BeanDefintion)对于bean的说明而已,bean还没真正的产生spring中do开头的都是干活的beanFactory和FactoryBean:写在后面的是主语,是由spring工厂生产出的bean,所以叫Facto...
2019-01-23 12:56:56
182
原创 链表与递归
链表从一道leecode体面中先看题目:删除链表中等于给定值val的所有元素示例:给定:1->2->3->8->4->56->8,val=8返回:1->2->3->4->56codingpackage arithmetic.recursive;public class ListNode { public int...
2019-01-22 21:22:13
1847
1
原创 spring
J2SE(Standed)自己开发出来,自己玩(Swing开发)C#占用绝对优势(大部分客户用Windows)J2EE(企业级)WEB2.0(只需要敲一个URL(统一资源定位符))把每个URL映射某一个类的某个方法,传参变为一个自动ORM(简化开发)WEB容器,安装在服务端(URL,跟我们的servlet建议了一个一对一,多对一的关联)servlet Appletservlet-ap...
2019-01-21 12:23:02
116
原创 mybatis(1)-加载全局配置文件流程
目标:1.找到Mybatis源码入口2.在Mybatis源码中找出Configuration对象的初始化过程代码3.在Mybatis源码中找出一级缓存、二级缓存的代码4.在Mybatis源码中找到SQL语句在哪成功设置了参数5.在Mybatis源码中找到结果集何时映射的6.了解设计模式中的构建者模式和工厂模式7.思考如何写出一个Mybatis框架架构原理接口层接口层是MyBa...
2019-01-17 20:33:39
234
原创 链表
线性数据结构# 链表为什么重要链表 真正的数据结构最简单的动态数据结构更深入的理解引用(或者指针)更深入的理解递归辅助组成其他数据结构链表Linked List数据存储在“节点”(node)中优点:真正的动态,不需要处理固定容量的问题缺点:丧失了随机访问的能力数组与链表的对比数组最好用于索引有语义的情况。index[2]最大的优点:支持快速查询链表不适...
2019-01-17 12:03:59
115
原创 CGLIB动态代理
回顾满足动态代理模式应用场景的三个必要条件,穷举法1.2个角色:执行者,被代理对象2.注重过程,必须要做,被代理对象没时间做或者不想做,自己做不专业3.执行者必须拿到被代理对象的个人资料(持有被代理对象的引用)媒婆,黄牛,经纪人,中介等总结:做了一件什么事?字节码重组上次我用jdk写的动态代理这次我用cglib可以做一件什么事?可以再每一个方法调用之前加一些代码,在方法调用之后再...
2019-01-16 10:02:07
198
原创 动态代理
设计模式经验之谈:总结前人的纪念经验,提供给后人去借鉴使用前人栽树后人乘凉解决一下具有代表性的一些问题设计模式通常来源于生活,反过来帮助我们更好地生活提高代码的可读性,可扩展性,维护成本,复杂的业务问题忠告:千万不要死记硬背每个设计模式都可以结合一个生活案例去讲解,穷举法单例模式工厂本身,配置文件,日历一个类模板,在整个系统运行过程中,只允许产生一个实例(有且只有一个)解决一...
2019-01-15 11:11:55
597
原创 栈和队列
栈 Stack栈也是一种线性结构相比数组,栈对于的操作以是数组的子集只能从栈的一端添加元素,也只能从一端取出元素这一端称为栈顶把栈顶的元素取出来叫做出栈栈是一种后进先出的数据结构Last In First Out(LIFO)在计算机的世界里,栈拥有者不可思议的作用栈的应用无处不在的Undo操作(撤销)程序调用的系统栈栈的实现...
2019-01-14 16:06:14
93
原创 数组基础
数组基础把数据码成一排进行存放索引可以有语义也可以没有语义我们先来看一个简单的数组package arithmetic;public class main { public static void main(String[] args) { int[] arr = new int[10]; for (int i = 0; i < arr...
2019-01-14 10:02:14
178
原创 HashMap1.8源码分析及线程安全性问题的分析
HashMap1.8源码分析及线程安全性问题的分析我们先来看一段代码public class HashMap8 { public static void main(String[] args) { HashMap&lt;Integer,String&gt; map = new HashMap(); map.put(1,"x"); }}has...
2019-01-14 09:52:52
2564
原创 模板模式
定义类型定义了一个算法的骨架,并允许子类为一个或多个步骤或实现模板方法使得子类可以再不改变算法结构的情况下,重新定义算法的某些步骤行为型适用场景一次性实现算法的不变部分,并将可变的行为留给子类来实现个子类中公共的行为被提取出来并集中发哦一个公共类中避免代码重复优点提高复用性提高扩展性符合开闭原则缺点类数目增加增加了系统实现的复杂度继承关系自身缺点,如果父类...
2018-12-29 17:25:55
115
原创 享元模式
定义与类型提供了减少对象数量从而改善应用所需的对象结构的方式运用共享技术有效的支持大量细粒度的对象类型:结构型适用场景常常运用于系统底层的开发,以便解决系统的性能问题系统有大量的相似对象,需要缓冲池的场景优点减少对象的创建,降低内存中的数量,降低系统的内存,提高效率减少内存之外的其他内存的占用缺点关注内外部状态,关注线程安全问题使系统、程序的逻辑复杂化co...
2018-12-23 12:17:37
221
原创 适配器模式
定义与类型定义:将一个类的接口转化成客户端期望的另一个接口使原本不兼容的类可以一起工作类型:结构型适用场景已经存在的类,他的方法和需求不匹配时(方法或结果相似)不是软件设计考虑的设计模式,是随着软件维护,由于不同产品不同厂家造成功能类似而结构不相同情况下的解决方案优点能提高类的透明性和复用,现有的类复用但不需要改变目标类和适配器类解耦,提高程序扩展性符合开闭原则缺...
2018-12-23 11:52:49
143
原创 装饰器模式
定义与类型在不改变原有对象的基础之上,将功能附加到对象上提供了比继承更有弹性的替代方案(扩展原有对象功能)类型:结构型适用场景扩展一个类的功能或者给一个类添加附加职责动态的给一个对象添加功能,这些功能可以再动态的撤销优点继承的有力补充,比继承灵活,不改变原有对象的情况下给一个对象扩展功能通过使用不同装饰类以及这些装饰类的排列组合,可以实现不同效果复合符合开闭原则缺...
2018-12-21 17:12:47
133
原创 外观模式
定义和类型定义:又叫门面模式,提供了一个统一的接口,用来访问子系统中的一群接口外观模式定义了一个高层接口,让子系统更容易使用类型:结构型适用场景子系统越来越复杂,增加外观模式提供简单调用接口构建多层系统结构,利用外观对象作为每层的入口,简化层间的调用优点简化了调用过程,无需深入子系统,防止带爱风险减少系统依赖、松散耦合更好的划分访问层次复合迪米特法则,即最少知道原则...
2018-12-20 16:09:23
112
原创 原型模式
定义与类型定义:指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象不需要知道创建的细节,不调用构造函数类型:创建型适用场景类初始化消耗较多资源new产生的一个对象需要非常繁琐的过程(数据准备、访问权限等)构造函数比较复杂循环体中产生大量对象时优点原型模式性能比new一个对象要高简化创建过程缺点必须具备克隆方法对克隆复杂对象或对克隆出的对象进行复...
2018-12-20 10:52:13
152
原创 单例模式
定义与类型定义:保证一个类仅有一个实例,并提供一个全局访问点类型:创建型适用场景想确保任何情况下都绝对有一个实例优点在内存中只有一个实例,减少了内存开销可以避免对资源的多重占用设置全局访问点,严格控制访问缺点没有接口,扩展困难重点私有构造器线程安全延迟加载序列化和反序列化安全反射单例模式相关的模式单例模式和工厂模式单例模式和享元模式单例模式的各种...
2018-12-18 22:16:23
142
原创 建造者模式
建造者模式的定义与类定义:将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示用户只需要指定他们创建的类型就可以得到他们,建造过程的细节不需要知道类型:创建型适用场景如果一个对象有非常复杂的内部结构(很多属性)想把复杂对象创建和使用分离优点封装性好,创建和使用分离扩展性好、建造者之间独立、一定程度上 解耦缺点产生多个builder对象产品内...
2018-12-17 11:31:45
156
原创 工厂方法
简单工厂简单工厂的定义与类型定义:由一个工厂对象决定创建出哪一种产品类的实例类型:创建型,但不属于GOF23种设计模式简单工厂的适用场景工厂类负责创建的对象比较少客户端只知道传入工厂类的参数,对于如何创建对象不关心简单工厂的优点只需要传入一个正确的参数,就可以获得你需要的对象而无需知道其创建细节简单工厂缺点工厂类的职责相对过重,增加新的产品需要修改工厂类的判断逻辑,违背开闭...
2018-12-16 21:06:02
340
原创 软件设计的七大原则
七大设计原则开闭原则依赖导倒置原则单一职责原则接口隔离原则迪米特原则里氏替换原则合成复用原则设计模式-创建型模式工厂方法模式抽象工厂模式建造者模式单例模式原型模式设计模式-结构性模式适配器模式装饰者模式代理模式外观模式桥接模式组合模式享元模式设计模式-行为型模式策略模式模板方法模式观察者模式访问者模式迭代器模式责任链模式中介者模式解释器模...
2018-12-15 22:07:45
13608
原创 设计模式前篇
前言 很久很久以前励志写博客,断断续续写了一些。现在又励志写博客,希望能坚持下去,欢迎各位监督。学设计模式前,我们需要了解UML图。UMLUML定义统一建模语言(Unifed Modeling Language)缩写UML。非专利的第三代建模和规约语言UML特点UML是一种开发的方法用于说明、可视化、构建和编写一个正在开发的面向对象的、团建密集系统的制品的的开放方法U...
2018-12-15 21:02:11
103
原创 memcached java客户端的简单使用
memcached java客户端的简单使用启动Memcached服务端 ./memcached -d -m10 -u root -l 192.168.1.106 -p 2222 -c 256 -P /tmp/memcached.pid - d选项是启动一个守护进程 - m是分配给Memcache使用的内存数量,单位是MB,这里是10MB - u是运行Memcache的用户,这里是r ...
2018-02-28 14:28:14
231
原创 mysql求某个列的前10条记录的总和
mysql求某个列的前10条记录的总和SELECT ROUND(SUM(a.init_weight), 1) AS thisPageSumFROM ( SELECT t.init_weight, ( SELECT sum(t1.weight)
2016-03-23 14:31:01
5526
转载 网上常用免费的webservice
天气预报Web服务,数据来源于中国气象局 公用事业 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx中国股票行情分时走势预览缩略图 http://www.webxml.com.cn/webservices/ChinaStockSmallImageWS.asmx中国股票行情数据 WEB 服务(支持深圳和上海股市的基金、债券和股
2015-11-18 10:23:16
6133
原创 js的url传值中文乱码问题
var url = proContextPath + "/carrier/carrier_addPerson.action?seqId=" + id +"&markId=" + sqlId+"&s_search_url=" +$("#s_search_url").val().split(proContextPath)[1]+"&curPage="+$("#currPage").val()
2015-09-17 13:45:52
299
转载 安卓笔记
一.任务栈&启动模式1.一个应用程序一般都是由多个activity组成的。2.任务栈(task stack)(别名back stack后退栈) 记录存放用户开启的activity的。3.一个应用程序一被开启系统就给他分配一个任务栈,当所有的activity都退出的时候,任务栈就清空了。4.任务栈的id是一个integer的数据类型 自增长的。5.在android操作系统里面会存
2015-09-11 15:50:54
271
原创 多线程下载
import java.io.File;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.URL;public class MutitleThreadDownload { private static int th
2015-09-09 15:56:18
278
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人