![](https://img-blog.csdnimg.cn/20210815181900690.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
Java语言相关技术记录
yelvens
我很懒,什么都没留下…
展开
-
使用Java程序本地执行Linux命令
两个程序:CommandTest执行Linux命令,将其打成jar包,放在服务器上面执行;SimpleTest是被CommandTest调用的命令执行的程序。服务器上面文件的存放路径:程序代码:CommandTest 类public class CommandTest { public static List<String> getCommandList() { String path = "/home/huangqiqi/simpleTest"; List<Stri原创 2021-05-28 20:34:27 · 1478 阅读 · 0 评论 -
将Java字符串形式的源代码动态编译,生成class文件并执行
package demo2;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.Map;public class Test { public static void main(String[] args) { String class...原创 2020-03-26 21:05:28 · 4332 阅读 · 1 评论 -
Java中Object类的各种方法详解
Object类原创 2020-01-20 17:49:33 · 3566 阅读 · 1 评论 -
Java中值传递与引用传递的理解
方法参数是基本类型时,传递的是值。方法参数是引用类型时,传递的是内存地址值当参数是基本类型时,在调用方法时将值传递到方法中,运行方法,运行结束方法退出,对原本main中定义的变量没有任何操作(方法中没有return)。即:此时只跟栈有关系,方法执行完之后(方法中没有return),会弹栈。当参数是引用类型时,比如:定义数组时,在堆内存中存储了数组的数据,返回这组数据的地址给了数组名,然后在调...原创 2019-07-25 16:40:51 · 342 阅读 · 0 评论 -
Java中继承与重写的理解(父类构造方法调用子类重写的实例方法)
继承和重写,虽然我平时用的挺多的,但是依旧没有彻底理解看下面的代码://父类public class Token { public Token() { System.out.println("token is constuctor"); execute(); } public void execute() { System.out.println("token is ...原创 2019-11-13 10:45:22 · 1058 阅读 · 0 评论 -
常用设计模式汇总
文章目录1、创建者模式1.1 单例模式1.2 工厂模式2、结构性模式2.1代理模式2.2 适配器模式2.3 装饰模式(包装模式)2.4 外观模式(门面模式)2.5 组合模式(部分整体模式)3、行为型模式3.1 责任链模式3.2 观察者模式3.3 策略模式3.4 命令模式1、创建者模式1.1 单例模式看这个:单例模式1)什么是单利模式、为什么用单例模式:一个类中只能创建一个实例,所以...原创 2019-08-30 23:23:45 · 242 阅读 · 0 评论 -
Java类之间的关联、依赖关系
https://blog.csdn.net/vickyway/article/details/7583545转载 2020-04-01 16:54:31 · 1770 阅读 · 0 评论 -
(四)Java 内存溢出和内存泄漏
文章目录1、内存溢出(out of memory)2、内存泄漏(leak of memory)3、二者关系1、内存溢出(out of memory)1)什么是内存溢出?简单的说就是:内存不够用了。指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出。2...原创 2019-09-05 00:11:37 · 462 阅读 · 0 评论 -
(三)GC 垃圾回收
文章目录GC(Gabage Collection)垃圾回收1.概述2.判定对象是否存活的算法3.判断一个对象生存还是死亡4.堆的划分5.垃圾回收算法6.垃圾收集器7.回收方法区8.Java中的强引用,软引用,弱引用,虚引用的作用GC(Gabage Collection)垃圾回收1.概述程序计数器、虚拟机栈、本地方法栈 3 个区域随线程生灭(因为是线程私有),栈中的栈帧随着方法的进入和退出而...原创 2019-08-22 15:29:43 · 272 阅读 · 0 评论 -
(二)Java虚拟机内存区域与内存溢出异常
文章目录在类加载完之后,JVM会做什么?一、内存区域1.运行时区域二、HotSpot 虚拟机对象1.对象的创建2.对象的内存布局3.对象的访问定位三、内存溢出(OOM)1.堆溢出2.栈溢出3.方法区溢出在类加载完之后,JVM会做什么?在类加载检查通过后,接下来虚拟机将为新生对象分配内存。简单宏观描述一下上面的步骤:通过 java.exe运行 MyTest.class,随后被加载到JV...原创 2019-08-20 15:44:41 · 223 阅读 · 0 评论 -
(一)Java的类加载机制
类加载机制虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、装换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型。在 Java 语言中,类型的加载、连接和初始化过程都是在程序运行期间完成的。1.Java源码的编译过程我们通过eclipse写一段代码,不调试和运行,把它保存起来,会变成一个后缀为 .java 的文件,我们把它叫做源文件,里面的东西就我们自己...原创 2019-08-19 01:12:17 · 202 阅读 · 0 评论 -
Java反射机制详解
Java反射机制详解原创 2020-02-05 21:13:34 · 167 阅读 · 0 评论 -
Java中的Serializable接口之“序列化”与“反序列化”
你是不是想问:为什么有的类实现Serializable接口?还有什么是序列化和反序列化?带着这个问题往下看,看完就明白了!序列化与反序列化序列化是指把对象转换为字节序列的过程,我们称之为对象的序列化,就是把内存中的这些对象变成一连串的字节(bytes)描述的过程,也就是把一个对象,保存到一个持久的文件中,而ObjectOutputStream 类就是用来做这个事的。反序列化则相反,就是把...原创 2019-12-05 00:41:15 · 557 阅读 · 0 评论 -
(三)Java多线程死锁问题
文章目录1、死锁产生的条件2、如何解决死锁问题1、死锁产生的条件1)线程死锁的必要条件:互斥条件: 资源只能被一个或有限个线程使用。请求与保持条件: 当进程在申请资源被阻塞时,不释放自己拥有的资源。不剥夺条件: 进程已拥有的资源不能强行剥夺。循环等待条件: 若干进程之间形成一种头尾相接的循环等待资源关系。要出现死锁,以上四个必要条件缺一不可。所以,解决死锁问题,就是破坏以上四个条...原创 2019-09-01 23:27:37 · 175 阅读 · 0 评论 -
(二)Java多线程同步机制
文章目录1、线程安全1.1 一个简单的线程安全例子1.2 什么是线程安全2、synchronized——同步锁2.1 同步方法2.2 同步代码块2.3 静态同步方法/代码块2.4 synchronized释放锁的时机3、Lock——显式锁3.1 Lock锁概述3.2 Lock锁 与 synchronized锁比较4、wait()/notify()/notifyAll()线程通信5、volatile...原创 2019-09-01 21:04:29 · 1038 阅读 · 0 评论 -
(一)Java多线程基础篇
文章目录1、多线程中的一些名词概念1.1 进程与线程的区别1.2 同步与异步的区别1.3 并发与并行的区别1.4 什么是锁、什么是死锁2、线程中的五种基本状态2.1 新建状态(New)2.2 就绪状态(Runnable)2.3 运行状态(Running)2.4 阻塞状态(Blocked)2.5 死亡状态(Dead)3、线程的创建于启动3.1 继承Thread类3.2 实现Runnable接口3.3...原创 2019-08-31 20:40:58 · 443 阅读 · 0 评论 -
字节流、字符流、ascii、gb2312、gbk、gb18030、乱码、什么时候使用字节流,什么时候使用字符流,二者区别
早先在 Java IO包里面出现的都是字节流,因为数据,无论是硬盘上的还是内存中的,都是字节,都是二进制数据10101的方式进行传输或保存的。那么为什么后来又出现了个字符流的概念呢?在我们处理数据的时候,数据的种类有很多,比如dvd,图片,文本,mp3等对于dvd,mp3等都是媒体数据,无论什么数据都是二进制的,0101之类的方式存在的。所以无论什么数据字节流都可以搞定。但是其中有一部分是文本...转载 2019-12-04 09:47:55 · 803 阅读 · 1 评论 -
Java中Array、List、Set、Map之间的各种转换
1.array 转 list1.1 利用Arrays的public static <T> List<T> asList(T... a)方法:在asList方法的内部,new 了一个ArrayList对象,将数组类型的参数a赋值给了ArrayList里面存储变量的数组(ArrayList本身也就是一个数组)。具体代码: String[] arr = new St...原创 2020-04-01 16:39:43 · 1646 阅读 · 0 评论 -
Java集合中List,Set以及Map等集合体系详解(史上最全)
概述:List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口Set下有HashSet,LinkedHashSet,TreeSetList下有ArrayList,Vector,LinkedListMap下有Hashtable,LinkedHashMap,HashMap,TreeMapCollection接口下还有个Queue接口,有Priorit...转载 2020-03-27 18:10:21 · 210 阅读 · 0 评论 -
Java中关于this、super、static关键字的理解
通常,我们创建类时会指出那个类的对象的外观与行为。除非用new 创建那个类的一个对象,否则实际上并未得到任何东西。只有执行了 new 后,才会正式生成数据存储空间,并可使用相应的方法。但在两种特殊的情形下,上述方法并不堪用:一种情形是只想用一个存储区域来保存一个特定的数据——无论要创建多少个对象,甚至根本不创建对象。另一种情形是我们需要一个特殊的方法,它没有与这个类的任何对象关联。也就是说...原创 2020-01-10 15:49:33 · 472 阅读 · 0 评论 -
Java 多线程中的任务分解机制-ForkJoinPool,以及CompletableFuture
https://www.cnblogs.com/hongdada/p/8876028.html1 ForkJoinPool的优势在于,可以充分利用多cpu,多核cpu的优势,把一个任务拆分成多个“小任务”,把多个“小任务”放到多个处理器核心上并行执行;当多个“小任务”执行完成之后,再将这些执行结果合并起来即可。Java7 提供了ForkJoinPool来支持将一个任务拆分成多个“小任...转载 2020-03-25 18:08:14 · 1366 阅读 · 0 评论 -
SpringBoot2.0 + Activiti6.0集成
看前须知:铁子,这个不适合从没有接触过activiti的人,因为还有一个画流程路,我就是把这个放这,方便我以后复习和用起来查找方便,公司让我两天把activiti和Springboot集成起来,还要应用到一个OA项目中,我现在只是一个菜鸡实习生,顶着巨大的压力,一步一个坑,连续爬了两三天水坑,终于能够做出来一点东西了,所以说,兄弟,如果是第一次接触,别慌,慢慢来,把所有的坑试一遍,自然而然就会了...原创 2019-08-14 18:13:58 · 1318 阅读 · 0 评论 -
Java中关于时间的处理
文章目录1.将Long转化成LocalDateTime2.将LocalDateTime转化成Long3.将Date转换成LocalDateTime4.将LocalDateTime转为自定义的时间格式的字符串5.将某时间字符串转为自定义时间格式的LocalDateTime6.给出一个时间戳,返回该时间所在日期凌晨的时间戳7.给出一个时间戳,返回该时间所在日期的次日凌晨的时间戳1.将Long转化成L...原创 2019-07-25 11:57:27 · 451 阅读 · 0 评论 -
Java中instanceof关键字的理解
首先要知道:instanceof 是一个双目运算符,使用格式:对象(引用变量) instanceof 类/接口是用来在运行时判断对象是否是特定类的一个实例,如果是返回true,否则返回false。实例:有下面几个接口和类public interface AInterface {}public class FatherClass implements AInterface {...原创 2020-01-09 23:58:06 · 133 阅读 · 0 评论 -
Java中创建一个类的所有方式
1、使用new关键字 } → 调用了构造函数这种方式,我们可以调用任意的构造函数(无参的和带参数的)。2、使用Class类的newInstance方法 } → 调用了构造函数使用Class类的newInstance方法创建对象。这个newInstance方法调用无参的构造函数创建对象。3、使用Constructor类的newInstance方法 } → 调用了构造函数和Class类的ne...原创 2019-12-20 09:59:47 · 4389 阅读 · 0 评论 -
switch case 支持的 6 种数据类型!
一.内部类基础在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。1.成员内部类成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:class Circle { double radius =...转载 2019-12-18 15:33:03 · 1231 阅读 · 0 评论 -
Java关于异常的十个关键知识点
文章转自于:https://blog.csdn.net/weiwenhou/article/details/103170223 前言总结了Java异常十个关键知识点,面试或者工作中都有用哦,加油。一. 异常是什么异常是指阻止当前方法或作用域继续执行的问题。比如你读取的文件不存在,数组越界,进行除法时,除数为0等都会导致异常。一个文件找不到的异常:public class TestExcept...转载 2019-12-03 17:53:50 · 281 阅读 · 1 评论 -
从Request对象中获取各种路径信息
从Request对象中可以获取各种路径信息,以下例子:假设请求的页面是index.jsp,项目是WebDemo,则在index.jsp中获取有关request对象的各种路径信息如下:String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()...原创 2019-07-14 10:29:48 · 447 阅读 · 0 评论