- 博客(18)
- 收藏
- 关注
原创 JVM虚拟机垃圾回收机制
一、堆内存示意图在JDK1.8以后取消永久区,被元空间代替。二、堆内存分区介绍三、新生区的MinorGC新生区的GC主要采用复制算法。HotSpot JVM把新生区分为三部分:1个Eden区和2个Survivor区,默认内存大小比例为8 : 1 : 1,一般情况下,新创建的对象都会被分配到Eden区(一些大对象特殊处理),这些对象经过第一次Minor GC后,如果仍然存活,将会被移...
2019-08-25 19:26:21
372
原创 JVM虚拟机的内存模型
一、JVM 内存模型二、栈管运行,堆管存储栈是什么?栈也叫栈内存,主管java程序的运行,是在线程创建时创建,它的生命周期是跟随线程的生命期,线程结束栈内存也就释放,对于栈来说不存在垃圾回收问题,只要线程一结束该栈就结束,生命周期和线程一致,是线程私有的。基本类型的变量和对象的引用变量都保存在栈中。栈存储什么?栈帧中主要保存3类数据本地变量:输入参数和输出参数以及方法内变量;栈操作...
2019-08-25 19:23:16
217
原创 Git 基本使用介绍
1、安装git官网下载:https://git-scm.com/下载安装完成后,在终端里查看git版本信息,出现版本信息,安装成功。2、.gitignore忽略提交文件.gitignore 文件夹用于在上传git的时候,不需要提交系统IDE配置文件等到git,就需要把这些文件放到这个文件夹下面,git就会忽略这些文件,不会提交这些文件。3、版本提交当在git管理的文件夹下做了修改,...
2019-07-23 21:56:23
172
原创 MyBatis 分页插件 PageHelper 简单使用流程
分页插件 PageHelper 的相关文档github:https://github.com/pagehelper/Mybatis-PageHelper码云:https://gitee.com/free/Mybatis_PageHelper官网:https://pagehelper.github.io/1、添加 pom.xml 依赖在版本信息地方,可以填写最新版本<depe...
2019-06-08 20:25:31
527
原创 简单使用 Mybatis Generator
1、相关文档官方文档:http://www.mybatis.org/generator/所在 github :https://github.com/mybatis/generatormaven 依赖地址:https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core2、添加依赖 jar 包...
2019-06-08 20:21:34
202
原创 三个优化集合访问的方法
collection = new Veator();假设集合collection中存在 “north11”、“west20”、“west22”、“south44”、“north11”统计出现 “nort”, “west”, “south” 的次数分离循环中被重复调用的代码实现操作int count = 0;for(int i = 0; i < collection.size(...
2019-05-09 16:01:13
151
原创 java对象池(导包、使用)
对象复用-“池”对象池相关:如果一个类被频繁请求使用,那么不必每次都生成一个实例,可以将这个类都一些实例保存到一个“池”中,待需要使用的时候直接从“池”中获取。这个“池”就被称为对象池,它可以是一个数组,一个链表或者任何集合。对象池其实就是一个集合,里面包含了我们需要的对象集合,当然这些对象都被池化了,也就是被对象池所管理,想要这样的对象,从池子里取个就行,但是用完得归还。对象池的对象最好是...
2019-04-13 11:51:51
808
原创 java-程序优化之装饰者模式
装饰者主要概述:装饰者模式利用合成/聚合复用原则,使用委托机制,复用系统中的各个组件,在运行时,可以将这些组件进行叠加,从而构造出一个“超级对象”,使其拥有这些组件的所有功能。装饰者模式的主要角色:组件接口:组件接口是装饰者和被装饰者的超类或组件,它定义了装饰者的核心功能和被装饰者需要加强的功能。具体组件:具体组件实现了核心功能,完成业务逻辑,他是被装饰对象。装饰者:实现组件接口,并持有...
2019-04-09 21:52:04
143
原创 java程序优化之代理模式
使用代理对象完成用户请求,避免用户直接访问真实对象。假设客户端软件有需要查询数据库的功能,但是在打开该软件,需要初始化所有类,在不使用的时候不需要加载连接数据库的类,或者其他的类,但是初始化类使得系统变得缓慢,所以当系统启用时先出实话代理类,代理类什么都不做,当需要连接数据库的时候再进行连接,可以加快系统启动时间,减少用户等待时间。两个特点:1·安全:屏蔽用户直接对真实对象的访问。2·提升系...
2019-04-05 20:32:58
211
原创 java程序优化之单例模式
java程序优化之单例模式系统中的一个类只产生一个实例对象的时候,可以采用单例模式,单例模式有两个优点:一是对于频繁使用的对象,可以减少创建对象花费的时间。二是new操作减少,系统内存使用频率也会降低。简单单例类:public class Singleton{ private Singleton(){ System.out.println("Singleton is create");...
2019-04-04 14:28:56
162
原创 java JDBC数据库简单使用,封装连接,关闭
使用DBUtil类,封装两个静态方法,一个得到连接方法,一个关闭连接方法import java.sql.*;public class DBUtil { //创建连接 public static Connection get_conn(){ String url = "jdbc:mysql://localhost/JDBC?useSSL=false"; ...
2019-03-22 15:11:03
691
原创 java 解决使用循环初始化对象数组出现空指针异常
源代码会出现空指针异常:public class founctionTest { public static void main(String[] args) { User[] u = new User[2]; Scanner sc = new Scanner(System.in); for(int i = 0; i < u.len...
2019-03-20 13:13:26
1435
原创 数据库-存储函数
--存储函数:是一段封装在服务器中的一段plsql代码片段--语法 create [or replace] function 函数名称(参数名 in|out 参数类型 ...) return 参数类型 is|as begin end;--存储过程与存储函数的区别: 1 它们本质上没有区别 2 函数存在的意义是给过程调用 存书过程里面调用存储函数–例:查询指定员工的年薪参...
2019-03-08 20:24:58
686
原创 数据库-序列、索引、视图
1、序列—创建序列create squence cccc.currval. —当前序列值cc.nextval —序列自增后的值—创建自定义序列Create squence aaStart with 5 —设置开始位置Increment by —设置步长Max 1000 —设置最大长度—使用序列插入数据,序列作为主键insert into teacher value...
2019-03-08 15:34:19
323
原创 数据库-存储过程
–存储过程:实际上是封装在服务器的一段plsql代码片段,已经编译好了的代码客户端去调用存储过程,执行效率会很高语法:create [or replace] procedure 存储过程名称 (参数名 in|out 参数类型,…)is | as–声明部分begin–处理逻辑end;–例:给指定员工涨薪,并打印涨薪前后工资–处理逻辑参数: in 员工编号参数: in 需要涨多...
2019-03-08 15:32:49
8593
原创 数据库-触发器
create or replace triger 触发器名称before | afterinsert | update | delect 操作on 表名【for each row】declarebeginend;作用:在动作执行之前或之后触发业务处理逻辑插入数据和校验–例:新员工入职之后输出:欢迎加入create or rep;ace triger tri_testaft...
2019-03-08 15:07:14
324
原创 数据库-异常处理
—处理步骤declare–声明变量begin–处理逻辑exception–处理异常when 异常1 then。。。when 异常2 then。。。when others then。。。处理其他异常end;–常见异常zero_divide : 除零异常value_error : 类型转换异常too_many_row : 查询多行数据,但是赋值给了rowtypeno...
2019-03-08 15:05:52
877
原创 数据库-游标的使用
—创建游标cursor 游标名(参数名 参数类型) is 查询结果集—使用步骤1·声明游标2·打开游标 open 游标名3·从游标取数据fetch 游标名 into 变量游标名%found :找到数据游标名%notfound :没有找到数据4·关闭游标close 游标名—例:(无参数游标) 输出所有员工表中所有员工的姓名和工资declare—创建游标cursor vr...
2019-03-08 15:04:10
6421
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人