java基础进阶
Denial_learn
个人博客,以个人实例或技术为主!如有不喜,请勿喷。
展开
-
heap和stack有什么区别
申请方式stack:由系统自动分配。例如,声明在函数中一个局部变量int b; 系统自动在栈中为b开辟空间heap:需要程序员自己申请,并指明大小,在c中malloc函数,对于Java需要手动new Object()的形式开辟申请后系统的响应stack:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。heap:首先应该知道操作系统有一个记录空闲内存地址的链...原创 2019-10-28 17:15:25 · 535 阅读 · 1 评论 -
什么是线程池以及线程池的好处
线程池就是事先将多个线程对象放到一个容器中,当使用的时候就不用new线程而是直接去池中拿线程即可,节省了开辟子线程的时间,提高的代码执行效率。在JDK的java.util.concurrent.Executors中提供了生成多种线程池的静态方法。ExecutorService newCachedThreadPool = Executors.newCachedThreadPool();Exe...原创 2019-10-28 14:06:43 · 1326 阅读 · 0 评论 -
常见的线程池
newSingleThreadExecutor:创建一个单线程的线程池,此线程池保证所有任务的执行顺序按照任务的提交顺序执行。newFixedThreadPool:创建固定大小的线程池,每次提交一个任务就创建一个线程,直到线程达到线程池的最大大小。newCachedThreadPool:创建一个可缓存的线程池,此线程池不会对线程池大小做限制,线程池大小完全依赖于操作系统(或者说JVM)能够创建...原创 2019-10-28 14:05:08 · 115 阅读 · 0 评论 -
Java中的日期和时间
1. 如何取得年月日、小时分钟秒?public class DateTimeTest { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); System.out.println(cal.get(Calendar.YEAR)); System.out.println(cal.get...原创 2019-10-26 15:39:35 · 183 阅读 · 0 评论 -
浅谈java正则表达式(基础语法、以及常见的表达式)
基础语法:与别的语音相比java正则的特殊之处在其他语言中,\ 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义。在 Java 中,\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。所以,在其他的语言中(如Perl),一个反斜杠 \ 就足以具有转义的作用,而在 Java中正则表达式中则需要有两个反斜杠才能被解析为其他语言中的转义...原创 2019-09-07 20:27:18 · 482 阅读 · 0 评论 -
java中String常用的方法
length()字符串的长度示例:String a = "Hello Word!";System.out.println(a.length);输出的结果是字符串长度10(空格也算)charAt()截取一个字符示例:String a = "Hello Word";System.out.println(a.charAt(1));输出的结果是字符串a的下标为1的字符eg...原创 2019-09-07 16:08:14 · 115 阅读 · 0 评论 -
java内部类详解
在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。其中:匿名内部类最常使用。1.成员内部类成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式public class Circle { private doub...原创 2019-08-08 20:23:38 · 160 阅读 · 0 评论 -
设计模式(工厂和单例)
23种设计模式全解析:https://www.cnblogs.com/geek6/p/3951677.html我们使用设计模式目的:a)缩短开发时间;b)降低维护成本;c)在应用程序之间和内部轻松集成。具体什么时候使用何种设计模式还得因项目而异。设计模式的分类:总体来说设计模式分为三大类:创建型模式共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模...原创 2019-08-06 11:10:07 · 239 阅读 · 0 评论 -
10java基础进阶之反射
本博客写的主要内容的结构,如下:反射(Reflection)机制:能够动态获取类的信息以及动态调用对象的方法。 反射机制主要提供以下功能在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。在运行时判断任意一个类所具有的成员变量和方法。在运行时调用任意一个对象的方法。如何实现反射机制: 通常采用java.lang.reflect包中的类来实现Class类:代表...原创 2019-08-05 19:24:09 · 167 阅读 · 0 评论 -
09java基础进阶之多线程、同步
进程和线程:进程:应用程序的执行实例有独立的内存空间和系统资源线程:CPU调度和分派的基本单位进程中执行运算的最小单位,可完成一个独立的顺序控制流程多线程:如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为“多线程”多个线程交替占用CPU资源,而非真正的并行执行好处:充分利用CPU的资源简化编程模型带来良好的用户体验主线程: Threa...原创 2019-07-31 20:16:38 · 242 阅读 · 0 评论 -
08java基础进阶之数据流IO
首先:对java流进行分类:输入输出流是相对于计算机内存来说的(对于程序员来说,是刚刚相反的。)字节流是 8 位通用字节流,字符流是 16 位 Unicode 字符流File类:File file = new File( String pathname );String pathname → 指的是存放文件的路径如果这个路径不存在的话,将会报错,可以通过mkdir或者mkdirs进...原创 2019-07-31 19:16:31 · 161 阅读 · 0 评论 -
07java基础进阶之集合框架
Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中。其中经常使用到的接口,如图所示:(就是用红框包起来的)其中:Collections 提供了对集合进行排序、遍历等多种算法实现Java集合框架包含的内容:Collection 接口存储一组不唯一,无序的对象List 接口存储一组不唯一,有序(插入顺序)的对象例如:Set 接口存储一...原创 2019-07-26 21:09:42 · 309 阅读 · 0 评论 -
03java基础进阶之多态
实现多态的两个要素(三个必要条件):子类重写父类的方法使用父类的类型三个必要条件:(与两个要素大致相同)1.继承2. 重写3. 父类引用指向子类对象多态的优点消除类型之间的耦合关系可替换性可扩充性接口性灵活性简化性或者:减少类中代码量提高代码的可扩展性和可维护性多态的实现方式:Java 重写(Override)与重载(Overload) !...原创 2019-07-22 20:16:14 · 281 阅读 · 0 评论 -
06java基础进阶之Object类、包装类
Object类的概念:java.lang.Object是java中所有类的直接父类或者间接父类,就比如:class A{}class B extends A{}所有类的对象都可以声明成Object引用Object o1=new A()Object o2=new B()Object的子类继承了Object的方法getClass()方法:返回一个对象的实际类型(返回类名)equ...原创 2019-07-26 15:27:37 · 172 阅读 · 0 评论 -
02java基础进阶之继承、protected、方法重载与方法重写、抽象类、final用法
为什么使用继承:可以将重复代码抽取到父类中方便修改代码减少代码量特征:继承是代码重用的一种方式将子类共有的属性和行为放到父类中符合is-a关系的设计使用继承关键字、格式及规则:关键字 : extends规则:只能继承一个父类格式:class Dog extends Pet { Pet是父类,Dog是子类 //子类特有的属性和方法}子类访问...原创 2019-07-20 17:19:39 · 2480 阅读 · 0 评论 -
01java基础进阶之抽象和封装
使用面向对象的思想开发程序的好处客户和软件设计开发人员之间、软件设计开发人员内部交流更加顺畅提高软件设计和开发效率从现实世界抽象出类找出名词确定类、属性找出动词确定方法剔除与业务无关的属性和方法类图:使用类图的好处:用于分析和设计“类”直观、容易理解构造方法:系统提供默认无参构造方法使用构造方法:Penguin pgn1 = new Peng...原创 2019-07-20 17:02:29 · 196 阅读 · 0 评论 -
05java基础进阶之异常
什么是异常:异常是发生在程序执行过程中阻碍程序正常执行的错误事件。比如:用户输入错误数据、硬件故障、网络阻塞等都会导致出现异常。只要在Java语句执行中产生了异常,一个异常对象就会被创建,JRE就会试图寻找异常处理程序来处理异常。如果有合适的异常处理程序,异常对象就会被异常处理程序接管,否则,将引发运行环境异常,JRE终止程序执行。Java异常处理框架只能处理运行时错误,编译错误不在其考虑...原创 2019-07-24 19:06:08 · 126 阅读 · 0 评论 -
04java基础进阶之接口
接口特性:接口不可以被实例化实现类必须实现接口的所有方法实现类可以实现多个接口接口中的变量都是静态常量> 什么是接口:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。定义接口: [访问说明符] interface 接口名称 { ...原创 2019-07-23 18:59:21 · 119 阅读 · 0 评论