- 博客(17)
- 资源 (5)
- 收藏
- 关注
原创 GC算法与分类(Java虚拟机)
一 . GC算法总结 1.引用计数(淘汰) 2.标记-清除 3.标记-压缩 4.复制算法 -新生代二 . 理解分代思想: 1.依据对象的存活周期进行分类,短命对象为新生代,长命对象归为老年代. 2.根据不同年代的特点,选取合适的收集算法 - 少量对象存活,适合复制算法 - 大量对象存活,适合标记清理或者标记压缩所有的算法,都...
2018-03-29 16:31:13 268
转载 Java finalize()方法总结、GC执行finalize()的过程
1. finalize的作用 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java中的finalize的调用具有不确定性不建议用finalize方法完成“非内存资源”的清理工作,但建议用于:...
2018-03-29 16:20:50 758
原创 Maven中实战(划分模块)
所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,multi-module)相互关联。那么,为什么要这么做呢?我们明明在开发一个项目,划分模块后,导入Eclipse变成了N个项目,这会带来复杂度,给开发带来不便。 为了解释原因,假设有这样一个项目,很常见的Java Web应用。在这个应用中,我们分了几层:Dao层负责数据库交...
2018-03-29 15:25:01 237
原创 IDEA中对Git的常规操作(合并,提交,新建分支,更新)
工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:假设小组中有两个人,组长小张,组员小袁场景一:小张创建项目并提交到远程Git仓库场景二:小袁从远程Git仓库上获取项目源码场景三:小袁修改了部分源码,提交到远程仓库场景四:小张从远程仓库获取小袁的提交场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发场景六:小袁把分支提交到远程Git仓库场景七:小张获取小袁提交的分支场景八:...
2018-03-27 14:11:37 31959 10
原创 Java对象拷贝(BeanUtil.copyProperties 方法)
一、简介: BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。二、用法: 如果你有两个具有很多相同属性的JavaBean,一个很常见的情况就是Struts里...
2018-03-23 11:02:18 34851 3
原创 Java设计模式之模板模式(Spring编程式事务模板实战)
模板模式在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。介绍意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。主要解决:一些方法通用,却在每一个子类都重新写了这一方法。何...
2018-03-22 14:53:36 1532
原创 Java设计模式之工厂设计模式之企业实战
工厂模式可以非常轻松的对接口实现类进行扩展, 符合我们编程思路.试想下我们需要生产一批汽车(接口为car), 能不能用统一的方式去生产各种类型的车呢? 扩展性强不强?新增一条新的扩展, 需要大改么?接下来我们来体会下,神秘的工厂设计模式.工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模...
2018-03-20 18:34:36 727 1
原创 Java自定义异常(优雅的处理异常)
(本文较长,精华部分直接下拉)在复杂业务环境下,java自带的异常可能满足不了我们业务的需求, 这个时候我们可以自定义异常来进行对业务异常的处理;首先,我们先对异常进行基本的解释:Throwable是所有Java程序中错误处理的父类 ,有两种子类:Error和Exception。Throwable是所有异常的根,java.lang.ThrowableError是错误,ja...
2018-03-16 15:38:59 50251 17
原创 JS中求两个数的百分比,保留小数点后两位百分比
注意:调用的时候,注意入参的强类型function toPercent(num, total) { return (Math.round(num / total * 10000) / 100.00 + "%");// 小数点后两位百分比 }例子:
2018-03-16 11:09:47 28673 2
原创 JS 中undefined 与 null的区别(2分钟理解)
null: Null类型,代表“空值”,代表一个空对象指针,使用typeof运算得到 “object”,所以你可以认为它是一个特殊的对象值。undefined: Undefined类型,当一个声明了一个变量未初始化时,得到的就是undefined。null是javascript的关键字,可以认为是对象类型,它是一个空对象指针,和其它语言一样都是代表“空值”,不过 undefined 却是javas...
2018-03-16 10:51:48 246
原创 JS中==与===区别(5分钟搞明白)
定义: "===" 叫做严格运算符,"=="叫做相等运算符;严格运算符:1.不同类型值,直接返回false 2.同一类型值(相当于java中的基础类型),直接比较值3.同类复合类型(对象,数组,函数),比较地址值指向(参考java的"==")4.undefined和null,严格相等(undefined 与 null 区别)相等运算符:在比较相同数据类型是和严格相等运算符是一样的,但是在比较不同数...
2018-03-16 10:32:27 454
转载 用回调函数写一个测试方法运行时间
下面使用java回调函数来实现一个测试函数运行时间的工具类:如果我们要测试一个类的方法的执行时间,通常我们会这样做:java 代码 public class TestObject { /** * 一个用来被测试的方法,进行了一个比较耗时的循环 */ public static void testMethod(){ fo...
2018-03-13 11:40:26 927
转载 Spring的常用注解使用
常用的spring注解有如下几种:@Controller@Service@Autowired@RequestMapping@RequestParam@ModelAttribute@Cacheable@CacheFlush@Resource@PostConstruct@PreDestroy@Repository@Component (不推荐使用)@Scope@SessionAttributes@In...
2018-03-12 15:28:49 205
原创 Spring 中属性注入的方法(实战应用)
Spring的控制反转与属性注入特性可以极大的帮我们管理所需要的对象。spring的注解和使用第一部分:bean的实例化(声明一个bean),让bean交给Spring管理,即我们所说Spring特性之IOC控制反转平时我们主要使用<bean/>标签来定义,接下来有三种方式:1. 普通实例bean<bean id="testAction" class="com.test.myte...
2018-03-12 15:19:38 290
原创 Redis(一)数据类型
Redis 数据类型Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。String(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的(见Redis中的String二进制安全)。...
2018-03-01 11:21:00 234
原创 时间复杂度(数据库索引B-Tree树实战)
时间复杂度是一个函数,它定量描述了该算法的运行时间。常见的时间复杂度有以下几种。1,log(2)n,n,n log(2)n ,n的平方,n的三次方,2的n次方,n!1指的是常数。即,无论算法的输入n是多大,都不会影响到算法的运行时间。这种是最优的算法。而n!(阶乘)是非常差的算法。当n变大时,算法所需的时间是不可接受的。用通俗的话来描述,我们假设n=1所需的时间为1秒。那么当n = 10,000时...
2018-03-01 10:32:56 21049 3
原创 Redis中的String二进制安全机制(binary safe)
【二进制安全】:一个二进制安全功能(函数)是指在一个二进制文件上所执行的不更改文件内容的功能或者操作,其本质上将操作输入作为原始的、无任何特殊格式意义的数据流。【Redis☞String二进制安全】:String类型是二进制安全的,可以把图片和视频文件保存在String中。为了提高网站运行速度,可以使用String类型缓存一些静态文件,如图片文件、CSS文件等。struct sdshdr {int...
2018-03-01 10:03:49 6385
pandoc-2.9.2.1-macOS.pkg.zip
2020-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人