自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JS

JavaScript 显示数据JavaScript 可以通过不同的方式来输出数据:使用 window.alert() 弹出警告框。使用 document.write() 方法将内容写到 HTML 文档中。使用 innerHTML 写入到 HTML 元素。使用 console.log() 写入到浏览器的控制台。常见的HTML事件下面是一些常见的HTML事件的列表:事件描述onchangeHTML 元...

2018-04-10 16:09:33 136 1

原创 设计模式-单例

单例模式,保证了对于某个类,仅仅只有一个实例。1.非枚举方式/* * 此种创建单例的方式会被多线程所干扰,因此如果在多线程环境下,考虑以下方法 * 1.给getInstance()加上synchronized,但会大大降低效率 * 2.用Singleton2的方式 * 3.用双重检查加锁,检查实例是否被创建,若未创建,才同步。 */public class Singleton1 { ...

2018-03-30 10:24:01 105

原创 设计模式-装饰器

    装饰者模式动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。    用一个咖啡的例子来展示,一杯咖啡里面往往可以加入很多的调理(装饰者)1.设计两个抽象类,一个是饮料类,还有一个是调料类/* * 饮料类 */public abstract class Beverage { String description="unknow beverage"; ...

2018-03-29 18:46:42 162 1

原创 设计模式-观察者

来自《headfirst设计模式》观察者模式定义了对象之间的一对多的依赖关系,这样一来,当一个对象改变状态的时候,它的所有依赖者(观察者)都会收到通知并自动更新。观察者模式提供了一种对象设计,让主题和观察者之间松耦合。主题只知道观察者实现了某个接口,不知道具体的观察者是谁。因为主题唯一依赖的东西就是Obeserver接口的对象列表。有新类型的观察者出现时,主题的代码不需要修改,它仅仅需要发送通知给...

2018-03-29 15:48:34 132

原创 spring 注解笔记

<context:component:scan>包含了<context:annotation-config>,通常在使用了前者后就不再使用后者。还可以使用过滤器进行自定义扫描<context:component:scan base-package=" "> <context:include-filter type="regex" ...

2018-02-28 18:38:53 131

原创 Mybatis学习总结(二

在Mybatis配置XML文档中的标签必须严格遵循以上的顺序,如果把放到上,则报错。properties标签利用标签可以引用外部的配置文件,并在mybatis.xml文件中使用 settings标签这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。typeAliases标签

2017-11-20 16:45:47 184

原创 Mybatis学习总结(一)

Mybatis基本的开发步骤1.引入jar包(Maven创建工程,此处是pom.xml配置文件)<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.or

2017-11-14 14:30:00 605

原创 JVM---虚拟机类加载机制与类加载器

虚拟机类加载机制把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。类从被加载到虚拟机内存中开始,到卸载出内存为止,整个生命周期包括:   加载---连接(验证,准备,解析)---初始化---使用---卸载对于初始化阶段,虚拟机规范严格规定了有且只有5种情况必须进行初始化操作(加载,验证,准备自然需要

2017-08-06 18:31:01 194

原创 JVM----Class类文件结构

Class文件的结构Class文件用类似C语言结构体来存储数据,这种伪结构只有2种数据类型:无符号数和表。无符号数属于基本数据类型,以u1,u2,u4,u8分别代表1,2,4,8个字节的无符号数,表由多个无符号数或者其他表作为复合数据类型,习惯以“_info”结尾。1.魔数: 很多文件存储标准中都采用魔数来进行身份识别,如gif的文件头就存有魔数,使用魔数主要为了安全考虑,因为拓展

2017-08-06 17:02:49 222

原创 JVM---内存分配策略

普遍的内存分配规则1.对象优先在Eden区分配,当Eden区没有足够空间时,将发起一次Minor GC。  新生代GC(Minor GC):指发生在新生代的垃圾收集动作,非常频繁,回收速度也较快。  老年代GC(Major GC/Full GC): 指发生在老年代的GC,经常伴随至少一次的Minor GC,速度比Minor GC慢10倍以上2.大对象直接进入老年代  所

2017-08-06 16:54:26 218

原创 JVM----垃圾回收(GC)

1.引用计数算法 给对象添加一个引用计数器,每当有一个地方引用他时,计数器就加1;当引用失效,计数器减1;任何时刻计数器为0的对象就是不可能再被使用的。但是主流的虚拟机中没有选用它,因为它很难解决对象之间相互循环引用的问题。2.可达性分析算法这个算法的基本思想就是:通过一系列的“GC Roots”的对象做为起始点,从这些节点向下搜索,搜索所走过的路径称为引用链,当一个对象到GC roo

2017-08-06 15:27:42 204

原创 JVM--运行时数据区以及对象的创建,内存布局、访问

1.运行时数据区程序计数器:线程私有的内存。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转都需要依赖这个计数器来完成。 如果一个线程正在执行java方法,则计数器记录的正在执行的虚拟机字节码指令的地址;如果正在执行的是native方法,则计数器的值为空。 唯一的无OOM情况的区域。java虚拟机栈:线程私有的。每个方法在执行的同时都会创建

2017-08-06 14:15:52 253

原创 重写Hashcode()和equals()

当对一个对象有不同的判断equals的标准时,我们可以重写equals方法。重写equals必须按一下步骤定义个一个类。class Student {      private String name;      private int age;            // getters and setters  }  重写时要遵循以下三步:1.

2017-08-03 20:37:38 275

转载 Class.forName 和 ClassLoader的区别

Java中class是如何加载到JVM中的:1.class加载到JVM中有三个步骤    装载:(loading)找到class对应的字节码文件。    连接:(linking)将对应的字节码文件读入到JVM中。    初始化:(initializing)对class做相应的初始化动作。2.Java中两种加载class到JVM中的方式    2.1:Class.forNam

2017-08-03 16:41:34 276

原创 InvocationHandle的invoke方法

在学习代理模式中接触到了动态代理的相关内容,这是AOP的核心内容。先用一个例子说明 动态代理 的使用//接口(动态代理只能代理接口) public interface Subject { public void request(); } //接口实现 :实现了Subject的request()方法 public class RealSubject i

2017-07-31 22:22:49 2155

原创 java各常用容器总结

阅读完java编程思想关于容器的介绍后,仅列出个人总结,欢迎纠正 LinkedList:链表,底层定义了一个静态的内部类Node作为元素。空间复制度较小,增删改效率高,查找比较慢。ArrayList: 底层采用数组实现,因此对他的操作应该尽量避免增删操作,查询速度快。HashSet: 该容器实际就是一个HashMap,只不过HashMap中的Value被置为同一个无意元素。正因

2017-07-23 15:38:36 397

原创 String类 StringBuffer类 StringBuilder类

String类:        java源码中,对string的成员变量定义,private final char value[],因此String类是不可变String s = "ABCabc"; System.out.println("s = " + s); s = "123456"; System.out.println("s = " + s); 打印结果为s = A

2017-06-07 22:26:53 202

转载 关于Git Github的使用

Git教程 廖雪峰        http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

2017-06-05 20:31:30 304

原创 Service层和Dao层

我们都知道,标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是你更改某一层代码,不会影响我其他层代码,如果你会像spring这样的框架,你会了解面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层。初期也许都是new对象去调用下一层,比如你在业务层new一个DAO类的对象,调用DAO类方法访问数据

2017-05-20 18:42:50 479 1

空空如也

空空如也

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

TA关注的人

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