Java新手问题 04 虚拟机相关
关于基本类型和引用类型主要是关于:基本类型和引用类型在本质上有什么区别. 基本类型主要包括:boolean、byte、short、char、int、long、float、double。其它所有的类型都属于引用类型。Question:这两种类型在内存存储上有什么区别基础类型在声明的同时系统会给予分配内存空间.引用类型在声明时系统...
2024-01-10java如何快速的调试自己写的方法?
比如我写了如下的代码package com.example.demo;public class Demo { public static void demo01(String a, String b) { System.out.println(a + b); } public static void demo02(Integer x, Integer...
2024-02-15自己动手写SQL执行引擎
整体结构既然造轮子,那当然得从前端的网络协议交互到后端的文件存储全部给撸一遍。下面是Freedom实现的整体结构,里面包含了实现的大致模块:最终存储结构当然是使用经典的B+树结构。当然在B+树和文件系统block块之间的转换则通过Buffer(Page) Manager来进行。当然了,为了完成事务,还必须要用WAL...
2024-01-10自己动手编写IOC框架(一)
本文内容纲要:自己动手编写IOC框架(一) 博客创建了2年多了,一直没敢写点东西,怕技术不够误导了别人。2年多后的今天我已经很有信心能够为需要帮助的人做点微薄的贡献了。这是我第一次写博客,先自我介绍一下。本人网名泪滴,一个非常伤心的名字,生活中除了代码一无所有,平时喜欢...
2024-01-10如何自己动手写SQL执行引擎
目录前言整体结构MySQL Protocol结构B+Tree的磁盘结构事务支持尾声前言在阅读了大量关于数据库的资料后,笔者情不自禁产生了一个造数据库轮子的想法。来验证一下自己对于数据库底层原理的掌握是否牢靠。在笔者的github中给这个database起名为Freedom。整体结构既然造轮子,那当然得从前端的网络协议...
2024-01-10java笔记:自己动手写javaEE框架(四)--Spring事务管理学习
本文内容纲要:java笔记:自己动手写javaEE框架(四)--Spring事务管理学习 最近工作里碰到了事务的难题,不过还好,一切问题都已经解决了,但是这个过程让我明白自己对事务的理解还是不够透彻,特别是Spring事务管理。 这个让我惊醒起来,我记得以前找工作经常被人问到事务的相关知识,...
2024-01-10java笔记:自己动手写javaEE框架(五)--Spring事务管理学习
本文内容纲要:java笔记:自己动手写javaEE框架(五)--Spring事务管理学习上篇文章写到了编程式事务的使用TransactionTemplate类的实现,TransactionTemplate类里的execute方法需要TransactionCallback接口实现类做参数,其接口的定义中只包含一个doInTransaction方法用于执行事务操作,上面的代码中使用匿名类的方式定...
2024-01-10java实现点选汉字验证码(自己修改后的)
参考:http://blog.csdn.net/qq_26680031/article/details/51168527 package com.rd.p2p.web;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.geom.AffineTransform;import jav...
2024-01-10java笔记:自己动手写javaEE框架(三)--引入SQL监控技术P6spy
最近忙得要死,昨晚写着写着居然睡着了。哎,还是接着写java框架吧。 任何系统里,日志和一定的监控是相当重要的,在一个软件整个生命周期里维护永远是大头同时是痛苦的,而日志和监控就是为后期维护提供了良好的基础和手段,在java工程里面大多使用log4j来记录系统日志,这个技术几...
2024-01-10XenServer6.0中虚拟机设置自动启动的方法
前言众所周知在XenServer的较早前版本(6.0以前)中,启动XenServer时,可以选择自动启动在其中安装的虚拟机。这个功能在XenServer 6.0中被Citrix取消了,原因是会干扰到XenServer的HA(高可用性)和Failover(故障转移)功能的兼容性。但是,如果只运行一个XenServer,这个功能还是非常好的。在XenServer 6.0中,...
2024-01-10Java:那些把自己陷进去的误区(一)
1.1数据类型 1.整型: 1.在Java中,整形的范围为-2147 483 648—2147483647,并且这个范围与运行Java代码的机器无关,此举大大解决了移植问题。 2.Java没有任何无符合的数据类型的(unsigned),整型允许是负数。 2.浮点类型: 1.float类型的数值后面一定有一个后缀F,没有...
2024-01-10自己写了个Java RMI(远程方法调用)的实现案例
自己简单写了个Java RMI(远程方法调用)的实现案例。为了更好理解RMI(远程方法调用)、序列化的意义等等,花费三天多的时间肝了一个Java RMI的实现案例。!!!高能预警!!!代码量有点大,先附上了简图用于理解整个过程分为两大步第一步--注册过程:客户端通过指定路由获取注册中心指定...
2024-01-10Java - 命令行中的jar与自己的参数和自己的参数
我无法找到简单的解决方案来解决我在Java中的问题。我必须使用带参数的命令行来运行JAR文件。Java - 命令行中的jar与自己的参数和自己的参数我知道如何做到这一点像的下方,它的正常工作:Java的罐子filename.jar参数1参数2等 例如:Java的罐子file.jar 50 10但是,我应该怎么做,我希望使用一些参数? ...
2024-01-10Java中,尽量相信自己,使用自己写的方法,不要使用底层提供的方法。都是坑。
https://www.jianshu.com/p/11d8ed48f7a9MediaType.TEXT_PLAIN 使用的不是 utf-8Charset.defaultCharset()你相信系统,想利用系统字符集, 但系统字符集并不统一。我们在给自己找事。 我们花精力理解去理解它更没有意义。无用的学习成本。比如 logback-spring.xml 里可以使用的变量,学习这些变量, 对编程本身没有意义。...
2024-01-10详解java中jvm虚拟机栈的作用
jvm虚拟机栈的作用jvm虚拟机栈栈帧的组成jvm虚拟机栈,也叫java栈,它由一个个的栈帧组成,而栈帖由以下几个部分组成局部变量表-存储方法参数,内部使用的变量操作数栈-在变量进行存储时,需要进行入栈和出栈动态连接-引用类型的指针方法出口-方法的返回一段原程序代码package com.lind.basic;...
2024-01-10在Java虚拟机中处理信号
是否可以在Java虚拟机中处理POSIX信号?至少SIGINT和SIGKILL应该完全独立于平台。回答:JVM自行响应信号。有些会导致JVM正常关闭,其中包括运行关闭挂钩。其他信号将导致JVM在不运行关闭钩子的情况下中止。关闭挂钩是使用Runtime.addShutdownHook(Thread)添加的。我认为JDK没有提供处理Java应用程序中信号...
2024-01-10java向上转型发生的时机
1、直接赋值public static void main(String[] args) { //父类引用 引用了 子类引用所引用的对象 Animal animal = new Cat();;//向上转型}2、方法传参,把一个Cat的子类传给一个Animal类型的父类,这里也是能发生向上转型的。public class Test extends TestDemo { public static void func(Anima...
2024-01-10华为上机题汇总----java
以下华为上机题目都是网上整理得到的,代码都是自己调试过的,由于网上java答案较少,欢迎大家批评指正,也希望对准备华为上机的童鞋们有一点点帮助。在练习的过程中成长,加油!~~ 第1题:输入字符串长度len1,字符串s1,字符串长度len2,字符串s2。从后向前比较,以最短字符串为标准...
2024-01-10Java虚拟机4:内存溢出
堆溢出Java堆唯一的作用就是存储对象实例,只要保证不断创建对象并且对象不被回收,那么对象数量达到最大堆容量限制后就会产生内存溢出异常了。所以测试的时候把堆的大小固定住并且让堆不可扩展即可。测试代码如下 1 package com.xrq.test; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 /** 7 *...
2024-01-10Java虚拟机9:垃圾收集(GC)-4(垃圾收集器)
1.前言垃圾收集器是前一章垃圾收集算法理论知识的具体实现了,不同虚拟机所提供的垃圾收集器可能会有很大差别,另外我们必须提前说明一个道理:没有最好的垃圾收集器,更加没有万能的收集器,只能选择对具体应用最合适的收集器。这也是HotSpot为什么要实现这么多收集器的原因,下面我们以Ho...
2024-01-10java课上机实验
实验一:把给定的钱数分成较小的货币单位。程序要求用户输入一个double型数代表美元和美分总钱数,然后列出与总值等价的dollar(1元)、quarter(2角5分)、dime(1角)、nickel(5分)和penny(1分)的数目。程序报告的数目是1元的最大数、其次是2角5分的最大数等等,依次类推。1. 提示用户输入十...
2024-01-10java虚拟扩展方法如何实现
1、Java8允许在界面中实现特定的方法,只需在方法之前添加default关键词即可。这个特征也叫虚拟扩展方法。interface Formual { double calculate(int a); default double sqrt(int a) { return Math.sqrt(a); }}2、Formual接口定义了一种default方法sqrt,只要需要实现calculate方法,sqrt方法就...
2024-01-10Java虚拟机JVM学习01 流程概述
Java虚拟机JVM学习01 流程概述Java虚拟机与程序的生命周期 一个运行时的Java虚拟机(JVM)负责运行一个Java程序。 当启动一个Java程序时,一个虚拟机实例诞生;当程序关闭退出,这个虚拟机实例也就随之消亡。 如果在同一台计算机上同时运行多个Java程序,将得到多个Java虚拟机实例,每个Java...
2024-01-10Java 虚拟机垃圾收集机制详解
本文摘自深入理解 Java 虚拟机第三版垃圾收集发生的区域之前我们介绍过 Java 内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈三个区域随线程共存亡。栈中的每一个栈帧分配多少内存基本上在类结构确定下来时就已知,因此这几个区域的内存分配和回收都具有确定性,不需要...
2024-01-10【转载】Java基础总结(二)----集合、多线程、io、虚拟机等
Java集合java集合框架的结构List接口List接口通常表示一个列表(数组、队列、链表、栈等),其中的元素可以重复,常用实现类为ArrayList和LinkedList,另外还有不常用的Vector。另外,LinkedList还是实现了Queue接口,因此也可以作为队列使用。Set接口Set接口通常表示一个集合,其中的元素不允许重复(通...
2024-01-10Java虚拟机是如何加载Java类的?
一般来说,我们把类加载过程分为三个主要步骤:加载、链接、初始化。 加载:是指查找字节流,并且据此创建类的过程。 Java 虚拟机借助类加载器来完成查找字节流的过程。 启动类加载器(Bootstrap Class-Loader),加载jre/lib下面的jar文件,如rt.jar。 扩展类加载器(Extention or ...
2024-01-10【Java】Java虚拟机-类的加载过程及双亲委派机制
原文链接类的加载过程加载通过全类名获取类的二进制字节流将字节流所代表的静态存储结构转化为方法区的运行时数据结构在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的方法入口从何处获取字节流:从本地磁盘获取从网络获取运行时计算生成(动态代理)...
2024-01-10java强软弱虚引用详解(转载)
转载自:http://zhangjunhd.blog.51cto.com/113473/53092/ava:对象的强、软、弱和虚引用2007-12-01 17:20:20标签:Java 软引用 弱引用 休闲 虚引用原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zhangjunhd.blog.51cto.com/113473/53092本文介绍对象...
2024-01-10解析Java虚拟机中类的初始化及加载器的父委托机制
类的初始化 在初始化阶段,Java虚拟机执行类的初始化语句,为类的静态变量赋予初始值。 在程序中,静态变量的初始化有两种途径: 1.在静态变量的声明处进行初始化; 2.在静态代码块中进行初始化。 没有经过显式初始化的静态变量将原有的值。 一个比较奇怪的例子:...
2024-01-10Java虚拟机学习(3): 类加载机制
类加载机制JVM把class文件加载的内存,并对数据进行校验、转换解析和初始化,最终形成JVM可以直接使用的Java类型的过程就是加载机制。类从被加载到虚拟机内存中开始,到卸载出内存为止,它的生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使...
2024-01-10【深入Java虚拟机】二 类加载与双亲委派
https://blog.csdn.net/zhangliangzi/article/details/51338291 -参考双亲委派过程:当一个类加载器收到类加载任务时,立即将任务委派给它的父类加载器去执行,直至委派给最顶层的启动类加载器为止。如果父类加载器无法加载委派给它的类时,将类加载任务退回给它的下一级加载器去执行;除了启动类加载器以外...
2024-01-10Java类的加载时机与过程
目录1 开门见山2 类的加载时机3 何时开始类的初始化4 被动引用例子5 类的加载过程5.1 加载5.2验证5.3准备5.4 解析5.5 初始化6 题目分析1 开门见山以前曾经看到过一个java的面试题,当时觉得此题很简单,可是自己把代码运行起来,可是结果并不是自己想象的那样。题目如下:class SingleTon { private static Sing...
2024-01-10java虚拟机原理:类加载过程详解
目录一、Java 类加载过程1、字节码编译2、加载3、连接4、初始化总结一、Java 类加载过程1、字节码编译编写好 Java 源码 Student.java ,使用 javac 将上述 Java 源码编译成 Class 字节码文件 Student.class ,2、加载加载 : 通过 " 类加载子系统 " 将该字节码文件 , 加载到 Java 虚拟机内存中 的 方法区 , 然后开始执...
2024-01-10