- 博客(44)
- 收藏
- 关注
转载 Lock和sychronized
二者都是可重入锁1.synchronized的缺点 1)当一个代码被synchronized修饰的时候,一个线程获取到了锁,那么其它线程需要等待这个锁的释放。锁释放只有两种,要么代码执行完毕自动释放,要么发生异常后JVM会让线程释放锁 2)读和写冲突,写和写冲突,读和读操作不会冲突,但是使用synchronized的话,一个线程读,另一个线程也只能等待。 3)使用该...
2018-03-14 15:12:00
162
转载 GC垃圾回收总结
一、如何确定一个对象是垃圾 1.引用计数法 public static void main(String[] args){ Object object1=new Object(); Object object2=new Object(); object1.object=object2; object2.object...
2018-03-13 15:12:00
143
转载 类加载
一、JVM类加载机制 (1)类加载时机 下图是类的生命周期。 其中 加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,而解析阶段则不一定,它在某些情况下可以 在初始化之后再开始,这是为了支持JAVA语言的运行时绑定。 初始化阶段:有且只有5中情况下必须立即对类进行初始化 1)new 一个对象(new一个对象数组时是不会进...
2018-03-12 15:24:00
133
转载 class类文件结构总结
1.魔数与class文件版本等2.常量池 常量池可以理解为Class文件之中的资源仓库。 常量池中主要存放两大类常量:字面量和符号引用。字面量文本字符串、声明为final的常量等符号引用类和接口的全限定名,字段的名称和描述符,方法的名称和描述符 描述符:描述字段的数据类型、方法的参数列表(包括数量,顺序以及类型)和返回...
2018-03-12 13:09:00
184
转载 HotSpot JIT和逃逸分析
JIT即时编译(Just-in-time Compilation,JIT)是一种通过在运行时将字节码翻译为机器码,从而改善字节码编译语言性能的技术。在HotSpot实现中有多种选择:C1、C2和C1+C2,分别对应client、server和分层编译。1、C1编译速度快,优化方式比较保守;2、C2编译速度慢,优化方式比较激进;3、C1+C2在开始阶段采用C1...
2018-03-07 15:46:00
205
转载 脚本化CSS
一、脚本化内联样式 style是元素对象的属性,它可以在js中操作。但是style属性不同寻常:它的值不是字符串,而是一个CSSStyleDeclaration对象。 如果CSS中属性名带"-",在CSSStyleDeclaration属性中应改成驼峰命名。 使用CSSStyleDeclaration对象的style属性时,所有的值都是字符串!! 所有的定位属性都...
2018-03-02 19:08:00
90
转载 重要的CSS属性总结
1.边框盒模型和box-sizing属性 标准CSS盒模型规定width和height样式属性只包含内容区域,不包括内边距和边框。称作“内容盒模型”。 box-sizing:border-box将会变成边框盒模型,即,height和widht包括内边距和边框。 Chrome和Safari使用-webkit-box-sizing,Firefox使用-moz...
2018-03-02 18:48:00
130
转载 JS高阶函数
function compose(f,g){ return function(){ console.log(arguments); return f.call(null,g.apply(null,arguments)); } } var f = function(x){...
2018-03-02 15:35:00
106
转载 JS对象总结
一、创建对象 三种方式:对象直接量、关键字new和Object.create()函数 Object.create()的第一个参数是这个对象的原型,二、属性的查询三、删除属性 delete运算符可以删除对象的属性,只能删除自有属性, 不能删除继承属性。 // delete只是断开属性和宿主对象的联系,由于已经删除的引用依然存在 // ...
2018-03-02 15:02:00
80
转载 (转载)彻底弄懂js原型链
转载自http://blog.youkuaiyun.com/wxw_317/article/details/49617767原型是JavaScript中一个比较难理解的概念,原型相关的属性也比较多,对象有"[[prototype]]"属性,函数对象有"prototype"属性,原型对象有"constructor"属性。为了弄清原型,以及原型相关的这些属性关系,就有了这篇文章。相...
2018-03-02 09:36:00
107
转载 JS事件总结
一、HTML事件处理程序 1.DOM0级事件处理程序 <html><body> <form method="post"> <input type="text" name="username" /> <input id="myBtn" type="button...
2018-03-01 11:35:00
96
转载 DOM总结
一、DOM操作技术 1.动态脚本 <html> <body> </body></html><script> var script = document.createElement("script"); script.type = "text/javascrip...
2018-02-28 18:39:00
136
转载 BOM总结
一、window对象1.全局作用域 var age = 23; alert(window.age); //23 在全局定义的变量age会被自动归在window对象名下。于是,可以通过window.age访问变量age。2.窗口位置 IE,Safari,Opera,Chrome都提供了screenLeft和screenTop属性,分别用来表示窗口相对于屏幕...
2018-02-28 15:41:00
134
转载 备忘录设计模式
图1-1 黑箱备忘录模式MementoIF是一个窄接口也是一个标识接口。Memento备忘者是Originator发起者的内部类,由于Memento的方法都是私有的,所以只有发起者能够调用Memento的方法,Caretaker负责人是没法调用的。这是一个安全性的设计。是JAVA双重接口(宽窄接口)的一个巧妙实现。下面的例子改...
2018-02-27 14:35:00
95
转载 策略模式
环境角色:持有一个Strategy类的的引用。抽象策略角色:通常由一个抽象类或接口实现。具体策略角色:包装了相关的算法或行为。public class StrategyDemo { interface Strategy { Double strategyInterface(Double price); } static...
2018-02-27 10:27:00
128
转载 迭代器模式
白箱聚集+外部迭代子黑箱聚集+内部迭代子待更新。。。转载于:https://www.cnblogs.com/sstone/p/8477256.html
2018-02-27 09:56:00
84
转载 观察者模式
/** * 油箱油量小于等于定义的报警油量则报警 */public class ObserveDemo { static class Car extends Observable { private Integer oil = new Integer(0); public void addOil(Integer oil) { ...
2018-02-26 17:00:00
77
转载 装饰模式
装饰模式的优点和缺点: (1)装饰模式与继承关系的目的都是要扩展对象的功能,但是装饰模式可以提供更多的灵活性。 (2)通过使用不同的具体装饰类以及这些装饰类的排列组合,设计师可以创造出很多不同行为的组合。 (3)灵活性是把双刃剑,使用时比继承更容易出错。众所周知很多时候买车都是要加装潢的,也就是所谓的QJ,增加车的功能就非常适用装饰模...
2018-02-26 13:58:00
101
转载 组合(整体-部分)模式
组合模式定义如下:组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。组合模式分为透明组合模式和安全组合模式,其分别的UML图如下: 图1-1 透明组合模式...
2018-02-26 13:42:00
369
转载 设计模式汇总
23种设计模式: 创建型: 工厂方法 抽象工厂 单例 原型 建造者 结构型: 适配器 组合(整体-部分) 装饰模式 桥接模式 享元模式 代理模式 外观模式 行为型: 观察者模式 策略模式 状态模式 模...
2018-02-26 10:29:00
72
转载 建造者模式
抽象建造者定义建造的零件方法和获取产品的方法,具体建造者实现这些方法。导演角色主要调用具体建造者角色用以创建产品对象产品角色是建造的最终产品,一般来说一个系统会有多于一个的产品类,而且这些产品类并不一定有共同的接口,可以完全是不相关联的。下面依然以造车示例建造者模式:public class BuilderDemo { static class Direct...
2018-02-26 10:18:00
71
转载 抽象工厂模式
抽象工厂模式也是23种设计模式中的一种,它隶属于创建性模式,与之前简单工厂,工厂方法设计模式相比,抽象工厂要复杂的多。简单工厂模式违反了开闭原则,工厂方法模式生产具有产品等级及产品簇的产品会十分复杂,每生产一个新产品即要创建一个新产品类和一个新工厂类。抽象工厂设计模式结合了前两种模式的优缺点,但不代表它没有缺点,因为它也违反了 开闭原则,新增一个产品等级的时候,抽象工厂...
2018-02-24 16:42:00
75
转载 工厂模式
简单工厂模式有一个缺陷,那就是不符合OCP开闭原则,当我们想生产一辆新品种车型时,必须修改简单工厂类源码。而工厂模式由于一种工厂只生产一种产品。当我们需要生产一辆新品种汽车,只需要新建一个新品类的工厂即可,即对增加开放,对修改关闭。符合开闭原则。在UML图上可以清晰的看出,工厂模式只比简单工厂模式多一个角色:抽象工厂,其可以是抽象类也可以是接口,还是以生产汽车为例举例说明工...
2018-02-24 15:20:00
88
转载 简单工厂模式
简单工厂模式不是23种设计模式中的一种,但却是最基础的创建性设计模式。抽象产品与具体产品之间可以是泛化也可以是实现关系。简单工厂与具体产品为依赖关系。通过一个简单的汽车工厂例子阐述简单工厂设计模式的原理。public class SimpleFactoryDemo { interface Car { void run(); void...
2018-02-24 14:57:00
65
转载 在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法...
首先,感谢本文的作者,我觉得写的比较透彻也很好理解。附上原文链接:http://blog.youkuaiyun.com/clementad/article/details/47339519正文:在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的。比如,下面代码例子中,有两方法,一个有@Transational注解,一...
2017-08-17 10:06:00
200
转载 zuul配置文件详解
路由是微服务架构中必须(integral)的一部分,比如,“/” 可能映射到你的WEB程序上,”/api/users“可能映射到你的用户服务上,“/api/shop”可能映射到你的商品服务商。(注解:我理解这里的这几个映射就是说通过Zuul这个网关把服务映射到不同的服务商去处理,从而变成了微服务!)Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器. Zu...
2017-08-04 10:01:00
1293
转载 如何解决failed to push some refs to git问题
方法/步骤 在使用git 对源代码进行push到gitHub时可能会出错,信息如下 此时很多人会尝试下面的命令把当前分支代码上传到master分支上。 $ git push -u origin master 但依然没能解决问题 出现错误的主要原因是github中的README.md文件不在本地代码目录中 可以通过如下命令进行代码合并【注:pull=fetch+merge] ...
2017-07-25 09:44:00
112
转载 Mybatis一对多,多对一中主子表字段名一致产生的问题及解决方案
数据库两张表的字段名都和两个类的属性名称一样,这时在关联查询出现一个问题。学生类:package com.pojo; public class Student { private int id; private String name; private int age; private ...
2017-07-24 11:28:00
735
转载 css引用的两种方式link和@import的区别
页面中使用CSS的方式主要有3种:行内添加定义style属性值,页面头部内嵌调用和外面链接调用,其中外面引用有两种:link和@import。外部引用CSS两种方式link和@import的方式分别是:XML/HTML代码<link rel="stylesheet" rev="stylesheet" href="CSS文件" type="text/css" media=...
2017-07-11 09:54:00
64
转载 Eclipse和MyEclipse快捷键
(1)Ctrl+M --切换窗口的大小(2)Ctrl+Q --跳到最后一次的编辑处(3)F2 --当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即Show Tooltip Description。F3 --跳到声明或定义的地方。F5 --单步调试进入函数内部。F6 --单步调试不进入函数内部,如果装了金山词霸2006则要把“取词开关”的快捷键改成其他...
2017-07-07 14:39:00
73
转载 Java中几种getResourceAsStream的用法与区别
首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从 ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。 2. Class.getCla...
2017-07-05 14:26:00
188
转载 REST系统的特征
作者:小辉链接:https://www.zhihu.com/question/28557115/answer/41268927来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。什么是 REST?下面六条准则定义了一个 REST 系统的特征:客户-服务器(Client-Server),提供服务的服务器和使用服务的客户需要被隔离对待。无状态(S...
2017-04-28 14:16:00
298
转载 java自省机制(Introspector)
原文http://www.cnblogs.com/peida/archive/2013/06/03/3090842.html,作者写的很不错,就转载过来了内省(Introspector)是Java 语言对 JavaBean 类属性、事件的一种缺省处理方法。 JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法名符合某种命名规...
2017-04-24 15:15:00
107
转载 EJB3.0的一些学习
EJB中包含3中bean1.会话bean(session bean) 负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过jdbc直接操作数据库,但大多数情况下都是通过实体bean来完成对数据库的操作2.实体bean(entity bean) 它实际上属于java持久化规范(JPA)里的技术,JPA的出现主要是为了简化现有的持久化功开发工作和整合ORM技术...
2017-04-24 13:28:00
83
转载 pom.xml详解
---恢复内容开始---原文:https://my.oschina.net/u/1187481/blog/204865Maven 构件工程的属性文件pom.xml文件(实践用):<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XML...
2017-04-21 09:37:00
83
转载 设计模式之适配器模式
1. 概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。2. 解决的问题 即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 下面是两个非常形象的例子3. 模式中的角色 3.1 目标接口(Target):客户...
2017-03-17 14:08:00
45
转载 @GenericValue和@GenericGenerator详解
使用基于注解的hibernate主键生成策略自定义主键生成策略,由@GenericGenerator实现。hibernate在JPA的基础上进行了扩展,可以用一下方式引入hibernate独有的主键生成策略,就是通过@GenericGenerator加入的。比如说,JPA标准用法Java代码@Id@GeneratedValue(GenerationTyp...
2017-03-16 11:08:00
4411
转载 JAXB是什么?怎么用?
资料来源:360百科简介:JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这样一来可以更好的标志可以转换为JSON对象的JAVA类。JAXB允许JAVA人员将JAVA类映射为XML表示方式,常用的注解包括:@XmlRootElement,@XmlElement等等...
2017-03-13 10:05:00
371
转载 Oracle触发器学习
create or replace trigger pro_trigger after insert on productbegin dbms_output.put_line('欢迎新商品!');end; insert into product(uuid,code,name) values('4','10003','测试') creat...
2017-03-09 14:29:00
75
转载 Mysql和Oracle的日期字符转换方法
参考文献:http://blog.sina.com.cn/s/blog_68f4b9f201013vql.htmlmysql日期和字符相互转换方法date_format(date,'%Y-%m-%d') -------------->oracle中的to_char();str_to_date(date,'%Y-%m-%d') ------------...
2017-03-09 09:17:00
129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人