![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础知识
文章平均质量分 90
xintianlife
这个作者很懒,什么都没留下…
展开
-
Java高阶学习
一、JVM 1.方法区 作用:存放加载的类信息,常量,静态变量,JIT编译后的代码数据。 GC:会OOM,存在垃圾回收,但回收效率低,主要针对常量池的回收和类型的卸载。 2.堆 作用:存放对象实例,几乎所有的对象,数组。 GC:最容易OOM。-Xms -Xmx 引用计数法:存在两个对象相互引用的问题。 可达性分析算法:(主流)GC Root可以是:虚拟机栈,方法中静态属性引用的对象,方法区中常量......原创 2020-03-09 20:21:56 · 677 阅读 · 0 评论 -
JVM调优
1.jvm堆栈初始化参数 -Xss 每个线程堆栈的大小。一般情况下256K是足够了。影响此进程中并发线程数大小。 -Xms初始的Heap的大小。 -Xmx最大Heap的大小。 在很多情况下,-Xms和-Xmx设置成一样的。这么设置,是因为当Heap不够用时,会发生内存抖动,影响程序运行稳定性。 ...原创 2019-11-12 15:29:20 · 97 阅读 · 1 评论 -
Java系统(非tomcat部署)启动/终止脚本
1.启动脚本 #!/bin/sh export JAVA_HOME=/export/servers/jdk1.8.0_60 export JAVA_BIN=/export/servers/jdk1.8.0_60/bin BIN_DIR=`dirname $0`/.. BIN_DIR=`(cd "$BASEDIR"; pwd)` BASE_DIR=`(cd ../; pwd)` CONF_DIR...原创 2019-11-12 15:21:40 · 209 阅读 · 0 评论 -
设计模式-工厂模式/抽象工厂模式
工厂模式的应用场景和实现代码 适用场景:用来向使用者屏蔽创建对象的细节 如果不用工厂模式,就要亲自关注如何创建对象,造成创建对象的代码和使用对象的代码耦合度很高,不易后续修改和测试。 实现代码: 一个业务父类,N个业务子类 一个工厂接口 N个工厂接口实现类-具体的工厂 通过具体的工厂创建业务子类实例 class Book { public Book(){ } } ...原创 2019-10-22 18:24:48 · 93 阅读 · 0 评论 -
设计模式-单例模式
单例模式的应用场景和实现代码 在创建对象时,通过单例模式可以保证只有一个实例存在 。 例如项目中有多处 都从同一个配置文件中读取发送邮件的列表,那么我们就可以用单例模式来创建这个读配 置文件的类 。 MailListReader 双重检查的线程安全类 一个静态的成员变量 一个私有的构造函数 一个共有的静态函数 public class MailListReader { private st...原创 2019-10-22 17:59:16 · 70 阅读 · 0 评论 -
设计模式-总结(设计模式的思想来自日常生活)
1. 设计模式的分类: 根据适用方式分为三大类:创建型,结构型,行为型。 创建型:单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式。 结构型:适配器模式 、装饰器模式、代理模式、外观模式、桥接模式、组合模 式和享元模式 。 行为型:策略模式、模板万法模式、观察者模式、迭代器模式、责 任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式和解释器模式。 2.学习路线 1.设计模式的特...原创 2019-10-22 17:47:46 · 117 阅读 · 0 评论 -
设计模式-代理模式-动态代理
Service接口 package spring.aop.DynamicProxy; /** * Created with IDEA * author:liuhaotian * Date:2019/9/1 23:03 * Description: */ public interface Service { String sellCar(String carName); } ...原创 2019-09-02 23:13:32 · 61 阅读 · 0 评论 -
关于Java中异常处理
1.抛出异常有三种形式 一是throw,一个throws,还有一种系统自动抛异常。 ①系统自动抛异常:当程序语句出现一些逻辑错误、主义错误或类型转换错误时,系统会自动抛出异常。例如:除数为0时 ②throw:一般是在代码块的内部,当程序出现某种逻辑错误时由程序员主动抛出某种特定类型的异常。例如: public static void main(String[] args) { S...原创 2018-03-19 13:00:59 · 120 阅读 · 0 评论