JAVA虚拟机栈
概念JVM 虚拟机栈与程序计数器和[本地方法栈]一样都是线程私有的。栈帧可以理解为一个方法的运行空间栈帧(Stack Frame)栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构。每个方法从调用至执行完成的过程,都对应着一个栈帧在虚拟机栈里面从入栈到出栈的过程。构成局部变量表...
2024-01-10JAVA内存模型
Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同...
2024-01-10JAVA运行机制
这一篇我们来简单理解一下JAVA的运行机制大概可以分为三大部分1.编写程序2.编译程序3.运行程序1.编写程序编写程序就是我们前面说的源代码这些源代码都有特殊的语法例如main函数他是jdk中一个比较特殊的函数他必须要使用特定的语法来编写(在前面加上 public 等关键字来修饰)源代码就像是...
2024-01-10详解JAVA之运算符
目录一、算术运算符二、赋值运算符三、自增自减运算符四、关系运算符五、逻辑运算符六、三元运算符七、数据输入总结一、算术运算符运算符:常见的±*/等表达式:运算符连接起来符合java语法的式子,比如a+b算术运算符:+ - * / %注:要想得到小数,里面要有浮点数参与在print的时候,char和in...
2024-01-10JAVA.exe进程
进程文件: java 或者 java.exe进程文件: Sun Java 描述: java.exe是Sun Microsystems公司的相关网络协议软件。通常基于Internet Explorer工作。出品者: Sun Corporation属于: Sun Java系统进程: 否后台程序: 是使...
2024-01-10JAVA关键字及作用
---恢复内容开始---一、 总览:访问控制private protected public类,方法和变量修饰符abstract class extends final implements interface native newstatic strictfp synchronized transient volatile 程序控制break continue return do while ...
2024-01-10JAVA经典算法40题
【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....public class exp2{ public static void main(String args[]){ int i=0; for(i=1;i<...
2024-01-10在JAVA生成XML文件
使用的所有工具和软件:IntelliJ IDEA,dom4j-1.6.1.jar;一、导入dom4j-1.6.1.jar 二、创建Test测试类 三、导入各种需要使用的包 import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; import java...
2024-01-10JAVA 本地命令执行类
这里自己记录了下Runtime类以及ProcessBuilder,ProcessImpl之间的关系,还有通过反射来实现Runtime,ProcessBuilder, ProcessImpl其实它的本质是一个: 运行时环境,听起来好像不太好理解,这个"运行时环境其实也就是"java虚拟机的运行环境"!首先先看源码:Runtime类public class Runtime,它是一个公有类构造函数:p...
2024-01-10深入了解JAVA 虚引用
定义虚引用是使用PhantomReference创建的引用,虚引用也称为幽灵引用或者幻影引用,是所有引用类型中最弱的一个。一个对象是否有虚引用的存在,完全不会对其生命周期构成影响,也无法通过虚引用获得一个对象实例。说明虚引用,正如其名,对一个对象而言,这个引用形同虚设,有和没有一样。...
2024-01-10JAVA 线程池入门事例
线程池这个概念已经深入人心了,今天就是通过几个入门事例,学习一下线程池在JAVA中的应用。一、大小固定的线程池——Executors.newFixedThreadPool() 下面咱们明确两个类: 1、ExecutorService:线程池的接口类 2、Executors:Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程...
2024-01-10JAVA TimeZone发行EDT与EST
我是Java的新手,因此很长一段时间以来一直无法弄清这一点。我正在使用Windows XP,并且机器设置为TimeZone: 。我有一个Java应用程序,它使用当前系统时间和时区信息,并向文件中写入一个字符串,如:20101012 15:56:00 EST。当我更改系统日期时,上面的最后一个日期部分,即:时区,从EST更改为EDT。...
2024-01-10实例代码讲解JAVA多线程
进程与线程进程是程序的一次动态执行过程,它需要经历从代码加载,代码执行到执行完毕的一个完整的过程,这个过程也是进程本身从产生,发展到最终消亡的过程。多进程操作系统能同时达运行多个进程(程序),由于 CPU 具备分时机制,所以每个进程都能循环获得自己的CPU 时间片。由于 CPU 执...
2024-01-10JAVA动手动脑及课后作业
1.查看其输出结果。如何解释这样的输出结果?从中你能总结出什么?运行结果truetruefalse原因 1)在Java中,内容相同的字串常量(“Hello”)只保存一份以节约内存,所以s0,s1,s2实际上引用的是同一个对象。 2)编译器在编译s2一句时,会去掉“+”号,直接把两个字串连接起来得一个字串(...
2024-01-10点阵字库在JAVA中的实现
前言:为什么要使用点阵字库在某些场合,系统自带的字库并不能令人满意,或者,在你需要特别的字体时,你希望能附带上该字库。 那为什么又需要点阵字库呢?因为在使用较小的字体的时候,点阵字库能更清晰,同时,由于点阵字库并不包含路径等信息,因此,字库文件的大小也很小,便于携带...
2024-01-10JAVA基础——变量和常量
JAVA的变量和常量知识总结一、认识java标识符 标识符就是用于给 Java 程序中变量、类、方法等命名的符号。 使用标识符时,需要遵守几条规则: 1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如...
2024-01-10各个JAVA场景下的内存图
首先,内存模型图,如下: 其次,一句话概括各个区域的作用: 1:程序计数器(Program Counter Register),让虚拟机中的字节码解释器通过改变计数器的值来获取下一条代码指令,比如分支、循环、跳转、异常处理、线程恢复等; 2:Java 虚拟机栈(Java Virtual Machine Stacks),栈顶存放当前方法,里面有局...
2024-01-10JAVA实现双边决策的示例
现实生活中存在很多问题,比如商品买卖如何实现商家利润最大化?大学生招生录取如何实现整体效果最好?病人医生如何实现整体服务水平最高等?这些我们都可以把他统一的转化为双边决策问题。下面先说说自己对双边决策的理解。双边决策――个人理解为了帮助大家理解,我用一个简单的例子...
2024-01-10JAVA_HOME和JRE_HOME之间的区别
我有一个启动Tomcat的脚本,它看起来像这样:rem set JRE_HOME=C:\Program Files\Java\jdk1.7.0_03set JRE_HOME=C:\Program Files\Java\jre7\set CATALINA_HOME=D:\test\Server\apache-tomcat-6.0.18"%CATALINA_HOME%\bin\catalina.bat" jpda start我可以将JRE_HOME设置为我的jre文件夹或JDK文件夹,然后Tomcat可以工作,...
2024-01-10《JAVA与模式》之桥梁模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述桥梁(Bridge)模式的: 桥梁模式是对象的结构模式。又称为柄体(Handle and Body)模式或接口(Interface)模式。桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化”。 桥梁模式虽然不是一个使用频率很高的...
2024-01-10JAVA 线上故障排查全套路
线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如 jstack、jmap 等工具也是不囿于一个方面的问题的,基本上出问题就是 df、free、top 三连,然后依次 jstack、jmap 伺候,具体问题具体分析即可。一...
2024-01-10JAVA多线程实现的四种方式
Java多线程实现方式主要有四种:继承Thread类;实现Runnable接口;实现Callable接口通过FutureTask包装器来创建Thread线程;使用接口ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,后两种是带返回值的。 1、继承Thread类创建线程Thread类本质上是实现了Ru...
2024-01-10《JAVA与模式》之享元模式
《JAVA与模式》之享元模式在阎宏博士的《JAVA与模式》一书中开头是这样描述享元(Flyweight)模式的: Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意。享元模式是对象的结构模式。享元模式以共享的方式高效地...
2024-01-10JAVA多线程实现的三种方式
JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。1.继承Thread类实现多线程 继承Thread类的方法尽管被我列为一种多线程实现方式,启动线程的唯一...
2024-01-10[JAVA]使用字节流拷贝文件
import java.io.*;/** * @Description: * @projectName:JavaTest * @see:PACKAGE_NAME * @author:郑晓龙 * @createTime:2019/5/3 0:45 * @version:1.0 */public class CopyWithBytes { public static void main(String[] args) { byte[] bytes = readFileToByteArray("...
2024-01-10