java-hello hello world java

java -- 线程(二)

死锁 死锁是指两个或两个以上的线程在执行过程中,由于竞争同步锁而产生的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的线程称为死锁。 死锁的案例 : 同步代码块的嵌套 创建锁对象: public class Lock { public ......
线程 java

Java中的类型转换

按照数据类型要求,编程语言可以分为强类型语言和弱类型语言。对于强类型语言,为了实现编程的灵活性,必然要涉及到类型转换,类型转换可以分为自动类型转换和强制类型转换。本文介绍了类型转换相关内容以及多态的原理。 ......
类型 Java

Java接收到MySQL数据库查询出的date类型的数据输出格式不对

问题 查询某条数据,里面有个 effective_time 字段,数据库里保存的该条数据的 effective_time 的值是 2023-04-13 ,但是使用postman调用接口,返回的确是 2023-04-12T16:00:00.000+00:00,不仅格式不对,而且时间还慢了一天。 但是在 ......
数据 类型 格式 数据库 MySQL

Linux java生成图片文字乱码问题

场景:用java生成图片文字,在windows运行没问题,发布到linux中 发现文字乱码了 原因:图片是在Linux下的系统里生成的,用到java.awt.Font这个类。实例化的时候它会到JRE里去找字体,如果找不到对应字体,就会显示方框 解决方法: 把需要的字体文件从windows系统中粘贴到 ......
乱码 文字 问题 图片 Linux

如何通过Java程序合并Word文档

合并Word文档是指将多个Word文档的内容、样式和格式合并成一个新的Word文档。这个功能通常在需要整合多个文档内容时使用,比如在对多个人员提交的文档进行汇总、审阅或编辑时。通过合并Word文档,可以大大提高工作效率,减少手动复制粘贴等繁琐操作,同时保留原始文档的格式和样式,使得最终生成的合并文档 ......
文档 程序 Java Word

Java中的long与double的区别

1.long与double在java中本身都是用64位存储的,但是他们的存储方式不同,导致double可储存的范围比long大很多 2.long可以准确存储19位数字,而double只能准备存储16位数字(实际测试,是17位,)。double由于有exp位,可以存16位以上的数字,但是需要以低位的不 ......
double Java long

Java基础语法

Java基础语法 注释、标识符、关键字 注释:注释并不会被执行,是给我们写代码的人看的。分为单行注释,多行注释,文档注释。 标识符:Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。 关键字: 标识符注意点: 所有的标识符都应该以字母,美元符($),下划线(_)开始。 首字母之 ......
语法 基础 Java

Java中类、对象原理图及说明

类、对象说明 创建对象:实例化new一个对象,开辟对象内存地址 引用对象:对象是通过引用来操作的,用栈来操作,最终指向堆,真实对象在堆中 引用的实质:是指向对象的地址 类的属性:即字段field ,也即成员变量。 默认初始化:数字类型:0;char字符类型:u000; bolean:false;引用 ......
原理 对象 Java

java面试题集

Java中的hashCode方法有什么作用?如何重载hashCode方法? 在Java中,hashCode方法主要用于支持基于哈希表的集合类型,例如HashMap、HashSet等。当使用基于哈希表的集合时,需要为集合中要存储的元素提供一个有效的散列码,以便快速地定位元素。因此,hashCode方法 ......
试题集 试题 java

Java: 通过Jackson将JSON字符串反序列化成集合对象

Q: 如何通过Jackson反序列化复杂类型Collection 例 ArrayList<MyObject> HashMap<String,MyObject> A: 将JSON String与Object之间的转换只要使用ObjectMapper对象的readValue和writeValueAsSt ......
字符串 序列 字符 对象 Jackson

java文件复制,文件下载

1. 下载文件 public void exportOpenFile(HttpServletResponse response) { // 通过工具类创建writer FileInputStream fis = null; ServletOutputStream sos = null; try { ......
文件 文件下载 java

Java虚拟机笔记

一、总括 基于栈的指令集架构(类似RISC),只有PC寄存器,好处在于对硬件的要求低,对标嵌入式类的指令集 注:有一点记错了,RISC架构的寄存器少,寻址方少,指令集小,方便做流水线;CISC架构的寄存器多,寻址方式多,指令集大,不方便做流水线 调优的几个方面:代码层面,内存层面(垃圾回收) Jav ......
笔记 Java

列举说明Python同Java及C++的不同之处

首先是C++C++是在C语言的基础上发展起来的,他包含了C语言的所有内容。同时,也引入了面向对象的概念。优点:1、他包含了C语言的内容,包括指针,使得C++在执行效率上特别的高效。2、引入面向对象的概念,使得开发效率提高。3、提供了很多的库,具有较好的封装性和移植性(代码)。缺点:1、C++比较难学 ......
Python Java

java 垃圾回收算法

标记-清除 把非垃圾对象进行标记,把未标记的进行清除。这是最基础的算法,别的算法都是基于此不断改进 不足的地方 效率不高(要看跟谁比,比如标记-复制就要快些) 内存碎片:会产生大量不连续的内存碎片,导致可能无法给大对象分配内存 标记-整理 还是要先标记哪些对象是垃圾,标记了先不着急清除,先把非垃圾对 ......
算法 垃圾 java

Java第五次作业

1.编写一个简单程序,要求数组长度为5,静态赋值10,20,30,40,50,在控制台输出该数组的值 package mmm; public class nn { public static void main(String[] args) { // TODO Auto-generated meth ......
Java

Java中常用查找算法及示例-顺序查找、二分查找、差值查找、斐波那契查找

场景 Java中对数据需要进行查找,归纳整理常用查找算法及示例。 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 实现 1、顺序查找 顺序查找法就是将数据一项一项地按照顺序逐个查找,所以不管数据顺序如何, 都得从头到位遍历一遍。该方法的优点就是文件在 ......
差值 示例 算法 顺序 常用

使用Java反射机制将类的属性名和属性值打印出来

可以使用Java反射机制来读取类的属性名和属性值。以下是一个示例代码,可以输出指定类的所有属性及其对应的值: 1 public static void printFields(Object obj) { 2 Class clazz = obj.getClass(); 3 Field[] fields ......
属性 机制 Java

关键的Java JVM选项和参数

1. 关键的Java JVM选项和参数 让我们来看看在Java环境中可以配置的21个最重要的JVM选项和参数。 -Xms:将设置JVM的初始堆大小。 -Xmx:将设置JVM的最大堆大小。 -Xss:将设置每个线程的内部使用的线程堆栈的大小。 -XX:+UseCompressedOops:启用使用压缩 ......
参数 关键 Java JVM

Java概述(简略)

Java概述 计算机程序:一系列有序指令的集合 计算机语言发展史:机器语言-->汇编语言-->高级语言 Java技术体系: Java SE(Java Platform, Standard Edition标准版):允许您在桌面和服务器上开发和部署Java应用程序。Java提供了丰富的用户界面、性能、多 ......
Java

Java 生成ID 有哪些方式

除了雪花算法,Java 中还有其他生成 ID 的方法,其中一些常见的包括: UUID(Universally Unique Identifier):使用随机数生成 128 位的唯一标识符。Java 提供了 UUID 类来实现此功能。 基于时间戳的序列号生成器:使用当前时间戳生成序列号,保证唯一性。这 ......
方式 Java

android:keytool签名查看md5指纹(java 15)

一,java8以后版本的keytool不再输出md5指纹信息 例子: [lhdop@blog keystore]$ keytool -list -v -keystore poem.keystore Enter keystore password: Keystore type: PKCS12 Keys ......
指纹 android keytool java md5

Java第五次作业

1.编写一个简单程序,要求数组长度为5,静态赋值10,20,30,40,50,在控制台输出该数组的值 public class ctt { public static void main(String[] args) { // TODO Auto-generated method stub int ......
Java

Java中常用排序算法及示例-冒泡排序、希尔排序、选择排序、插入排序、合并排序、基数排序、快速排序、堆积树排序

场景 Java中需要对数据进行排序处理,常用的排序算法以及示例进行归纳整理。 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 实现 1、冒泡排序 冒泡排序法又称为交换排序法,原理是从第一个元素开始,比较相邻元素的大小,若大小顺序有误, 则对调后再进行 ......
基数 示例 算法 常用 Java

【JAVA树根白话三】——多态

JAVA树根白话三 多态 Begin……[A B] 多态——面向对象的三个基本特征之一(另外两个是封装、继承) 应用场景:多态本身是一种向上转型(因为通过多态new出来的对象,会被看作一个父类对象),可以通过向下转型变为子类对象。 A.多态说明 在结合案例前,得先知道多态的代码怎么写,以及一些相关规 ......
树根 白话 JAVA

java 引用类型

共分为4种,强弱软徐 强引用 直接使用 new 创建的对象。当触发 GC 时,只要是垃圾就回收 软引用 当触发 GC 时,与是否是垃圾对象无关,意味着不管是不是垃圾对象都不会被回收,只有当内存不足时才回收(内存缓存场景) Object obj = new Object(); SoftReferenc ......
类型 java

Java异步同步回调

同步回调: 打印结果: 1 2 3 public interface Result { void callBack(); } public static void main(String[] args) throws InterruptedException { Entity entity = ne ......
Java

java 如何判断对象是否是垃圾

引用计数法 给对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的对象就是垃圾可被回收 比如 a 线程中某个栈帧使用某个对象,这个对象的引用计数器+1,调用结束,引用计数器-1 这个方法实现简单,效率高,但是并不可取,当循环引用时,引用计数器永远不会是 ......
对象 垃圾 java

android:keytool生成应用签名证书(java 15)

一,查看是否已安装keytool keytool命令的程序位于jdk的安装目录/bin下, 1,查看是否有keytool命令已安装? [lhdop@blog ~]$ ls /usr/local/soft/jdk-17/bin/keytool /usr/local/soft/jdk-17/bin/ke ......
证书 android keytool java 15

Java SpringBoot 中,动态执行 bean 对象中的方法

根据不同的条件,调用不同的 bean 对象,执行对象中的方法 SpringUtils 工具类 package com.vipsoft.web.utils; import cn.hutool.core.util.ArrayUtil; import org.springframework.aop.fra ......
SpringBoot 对象 方法 动态 Java

java第四次作业

1、使用for循环计算1-100的和,除了以3结尾的那些数 package test; import java.util.Scanner; public class acc { public static void main(String[] args) { // TODO Auto-generat ......
java