- 博客(30)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 redis学习笔记
redis介绍Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。因为是在数据存储在内存, 所以运行速度极快。大部分情况下运用在缓存,也有运用于分布式锁当中。redis数据结构(以下为菜鸟教程C过来的)字符串(String)string类型是二进制安全的。...
2019-08-23 15:23:21 197
原创 设计模式:观察者模式(2)
推模式被观察对象向观察者推送主题的详情信息时候,不管观察者是否需要,这些信息一般是观察目标对象的全部或者部分信息。一般这种模型实现通过update(objectobj)将观察目标对象传入进去。拉模式被观察对象通知观察者时候,只发送少量的信息,如果需要详情信息时候,被观察对象也就是观察目标对象主动到观察者当中,然后通过观察目标对象老获取信息。通常使用update(suObject s...
2019-07-08 23:14:36 2931
原创 设计模式:观察者模式(1)
简介观察者模式属于行为模式,是一种非常常见的一种设计模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并且自动更新。通常使用与事件处理系统。结构:主要为观察对象(主题)与观察目标(观察者角色),为了符合DIP原则,不让他直接依赖于具体实现,我们需要将其抽象出来1.抽象主题角色(Subject):把所有对观察者对象的应用保存到一个...
2019-07-08 21:53:49 3293
原创 设计模式:工厂模式 Factory
工厂模式属于创建模式,让类的创建交给工厂类,让工厂对象来决定具体创建哪一个实体类。工厂模式分为抽象工厂模式与工厂方法模式,其应用场景也不相同,另外值得注意的是一个叫做“简单工厂”的模式,Head First设计模式中指出简单工厂其实并不是一个设计模式,属于一种编程习惯,以为经常使用到所以被很多程序员误认为是工厂模式。但是不要以为并非严格的设计模式就去忽略它的用法。简单工厂我就按照...
2019-07-05 15:17:44 1250
原创 设计模式必看--面向对象设计原则
每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。 ...
2019-06-25 23:02:41 2410
原创 Spring-AOP 切面编程
什么是面向切面编程(AOP) ?首先我们谈谈传统中的oop面向对象编程,我们不需要关注具体是”怎么做,怎么实现“,我们只需要知道“谁去做”,我们把关注点放在对象上面,而不是实现的细节当中。而AOP可以理解成OOP的一种延续补充,因为OOP可以使代码复用性更高,逻辑更加清晰,但是在某些业务中,OOP并不是万能的。常用的场景日志权限。比如现在我们需要在业务层的所有方法去记录一些日志...
2019-06-24 11:27:47 405
原创 设计模式:代理模式 Proxy
代理模式的概念为其他对象提供一种代理以控制这个对象的访问 --《设计模式:可复用面向对象软件基础》其中心思想就是控制对象的访问 举一个很简单的例子:明星与经纪人的关系 明星是目标对象 经纪人是代理对象当有人想去找明星做他们品牌的代言人的时候,我们是无法直接去联系明星的。只能去联系他的代理人 ,由他的经纪人去转达到明星,明星只需要去做代言人即可,其他一些前后合同交给经纪人来处理即可...
2019-06-23 23:57:11 7397
原创 设计模式:单例模式Singleton
单例模式 保证一个类只有一个实例,并且提供一个访问他的全局访问点 --《设计模式:可复用面向对象软件的基础》84页3.5节在某些情况下我们需要一个类在任何情况下只需要同一个实例并且提供一个访问该实例的方法单例模式又分懒汉和饿汉模式懒汉模式:在你需要他的时候才会去创建对象,也就是你在调用访问该实例的方法的时候才会去创建/** * 单例模式 :懒汉模式 * ...
2019-06-21 11:49:05 4080 4
原创 Spring 生命周期
这里将spring生命周期分成4个部分讲解第一步实例化及属性注入加载xml文件 读取bean对配置bean中的对象进实例化这里会调用bean的默认构造方法和属性的set方法第二步这里一系列操作都是在进行检查bean是否实现了一些接口如果实现就执行该方法1.如果实现了BeanNameAware接口那么会调用setBeanName方法这个方法有个参数就是be...
2019-06-21 09:24:01 925
原创 Mysql索引简介
简单来解释的话 :索引就像书的目录一样,目的是为了增加查询效率。索引是存储引擎用于快速找到记录的一种数据结构。索引对数据库优化非常关键。尤其在数据量比较大的时候更加明显,在数据量小的时候不恰当的索引对性能影响比较小,但当数据量逐渐增大时,性能则会急剧下降。select name from user where id=5;假设id列上有索引,那么MySQL会直接使用该索引找到id=5这...
2019-06-19 11:09:44 214
原创 InnoDB记录存储结构简介
因为在学习MySQL的索引文章的时候讲到了Mysql的基本存储结构是页,所以又去查询资料先写一篇关于InnoDB记录存储结构的文章。这里只讲述InnoDB的后期有时间回去补上MyISAM存储引擎。先介绍一下InnoDB:InnoDB是MySQL默认的存储引擎也是用的最广泛最重要的存储引擎采用MVCC(多版本并发控制技术)来支持高并发,实现了SQL标准隔离级别,默认级别为REP...
2019-06-18 23:53:19 448
原创 什么是脏读,幻读,不可重复读,丢失修改?
首先介绍事物的四大特性(ACID):原子性:事务中的最小执行单位,要么全部执行,要么全部失败(回滚);一致性:执行事务前后,保证数据一致,多个事务对同一个数据读取的结果是相同的;例如转账案例假设有五个账户,每个账户余额是100元,那么五个账户总额是500元,如果在这个5个账户之间同时发生多个转账,无论并发多少个,比如在A与B账户之间转账5元,在C与D账户之间转账10元,在B与E之间...
2019-06-18 17:51:56 12673
原创 为什么Java中只有值传递?
参考Java核心技术卷4.5方法参数最开始以为Java有值传递和引用传递,在JavaGuide中看到一个标题为什么Java中只有值传递?写了三个例子,讲述了为什么Java只有值传递。例子A :public static void main(String[] args) { int i=1; int j=2; //交换两个值 swap(i, j); System....
2019-06-11 09:24:03 3199
原创 java 删除制定目录下的文件夹和文件 包括其本身
public static void t2(String path){ File file=new File(path); //判断路径是否存在 if (file.exists()){ //放到得到当前文件夹下的目录数组 File[] files=file.listFiles(); ...
2019-04-02 19:47:13 490
原创 java List根据元素进行升序降序排序
首先实体类需要实现Comparable接口实现compareTo()方法下面是降序如果需要升序则把位置交换一下就好了然后调用Collections.sort(list); public static void main(String[] args) { List<Student> list=new ArrayList<Student>...
2019-03-28 10:02:24 10462
原创 接口和抽象的区别
抽象类的作用是用于规范子类行为,捕捉子类的通用特性,对代码的维护和重用。接口的作用 ,定义接口有利于代码的规范,有利于对代码进行维护,实现低耦合,java中只有单继承,但是可以实现多个接口。...
2019-03-27 11:13:48 206
原创 JVM内存模型
JVM内存分配:java堆:内存最大的一块,存放对象的实例,几乎所有的对象实例(包括数组)都在这里,也是GC管理的主要区域。java栈:线程私有,它的生命周期与线程相同,是java执行的内存模型在运行过程中,每当调用进入一个 Java 方法,Java 虚拟机会在当前线程的 Java 方法栈中生成一个栈帧,用以存放局部变量以及字节码的操作数。这个栈帧的大小是提前计算好的,而...
2019-03-20 16:34:50 163
原创 java HashMap源码分析(JDK1.8)
HashMap继承AbstractMap<K,V> ,implements Map<K,V>, Cloneable, Serializable键值对存储,HashMap最多只允许一条记录的key值为Null(多条会覆盖);允许多条记录的Value为 Null.源码中可以看到一个静态的内部类(单向链表):static class Node<K,V> imp...
2019-03-19 18:41:43 1487
原创 java HashSet源码分析
上一篇集合中写到 Set是一个无序列表,不可重复,需要重写equals和hashCode方法HashSet实现了Set接口,它不保证set 的迭代顺序,且不保证其顺序永久不变,允许为null空值。继承AbstractSet接口,实现Set接口,克隆,序列化Set<E>, Cloneable, java.io.SerializableAbstractSet官方解释:...
2019-03-19 12:04:15 253
原创 关于自增的一些问题 i++
int i=0;i=i++;i=0;这里贴一下字节码分析分析如下:1,首先将0入操作数栈。2,再把0弹出保存到局部变量表index 1中。3,把index 1中的0复制一份入操作数栈 此时操作栈中为0,局部变量表为0。4,局部变量表中index 1进行自增,此时操作栈中为0,局部变量表为1.5,将栈中的值弹出放在index 1里面进行覆盖。此时局...
2019-03-12 17:22:10 426
原创 Int和Integer的一些区别和技术点
int i=127; Integer i2=127; Integer i3=new Integer(127); //打印hashCode System.out.println(System.identityHashCode(i)); System.out.println(System.ident...
2019-03-11 23:22:46 276
原创 java执行流程
通过javac编译成JVM能识别的二进制文件(.class),这样就可以消除平台差异。第一步(编译):创建完源文件之后,程序先要被JVM中的java编译器进行编译为.class文件。java编译一个类时,如果这个类所依赖的类还没有被编译,编译器会自动的先编译这个所依赖的类,然后引用。如果java编译器在指定的目录下找不到该类所依赖的类的 .class文件或者 .java源文件,就会报"Ca...
2019-03-11 17:18:57 306
原创 1.7JDK和1.8JDK结构
JDK:开发环境,核心是Java SE APIJRE:运行环境JVM:Java Virtual Mechinal(JAVA虚拟机)。在1.7中JVM是javaSE的一部分,1.8总分割开1.8如下:
2019-03-11 13:01:04 455
原创 java集合类
这里主要讲Set List Map类型首先看Set和List他们都是继承于Collection//我们这里将 ArrayList集合作为 Collection 的实现类 Collection collection = new ArrayList(); //添加元素 collection.add("Tom");...
2019-03-04 13:26:45 123
原创 String 和StringBuillder,StringBuffer区别
1.String是不可变的字符串因为底层使用的是 private final char value[]; StringBuillder和StringBuffer都是可变的底层没有使用final2.执行速度上StringBuilder>StringBuffer>StringStringBuffer里面的方法都是使用synchronized修饰,没有线程安全问题,但...
2019-03-03 13:39:08 391
原创 equals和==的区别
==当比较对象的时候:比较的是栈内存中存放在堆内存中的地址,比较两个对象的地址是否相同(也就是比较两个变量是否指向 同一个对象。当比较基本数据类型时候(byte,short,int,long,char,double,folat,boolean):则直接比较值。举例:inti=1; int j=1; i==j结果为t...
2019-03-03 13:02:45 1921
原创 Spring学习笔记(一) IOC ,bean的配置
最近看到一些帖子很多内容不明白应该开始理解一下基础,不能只会用所以博主决定重学一下SSM和一些基础重点。目录 什么是IOC :不是技术,是一种设计思想!!!!!Bean的配置和获取方式配置bean配置bean的属性内部bean可以不配置id ,这样其它的bean就无法引用的.给bean对象的集合类型属性赋值 (这里的集合看成bean的一个属性即可)...
2019-01-23 11:29:23 308
原创 遍历Map
Map<String,Object> map ;for(Map.Entry<String,Object> entry:map.entrySet()){ map.getKey(); map.getValue();} 没有考虑效率问题,后期补上结果,也会增加其他方式...
2019-01-22 16:13:08 143
原创 用mybatis逆向工程 对sqlserver 2008 R2使用
首先得下载一个jar包 网址:https://www.microsoft.com/zh-CN/download/details.aspx?displaylang=en&id=11774下在后解压 找到配置不多说 自己看 一定要客户端协议TCP/IP 里面端口改成1433 配置代码:<?xml version="1.0" encoding="UTF-8"?&...
2018-12-12 18:51:23 1036
Java校招面试-谷歌面试官亲授.txt
2019-06-15
完整版脚本娃娃__Ext4.1.0_Doc中文版_V1.0.0_Beta
2019-01-09
同时输出所有数组中最大数
2017-01-09
输入某职工的应发工资,输出各种面额钞票总张数最少的工资发放方案。
2016-12-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人