
Java
Java相关知识点
代码魔法师Sunny
这个作者很懒,什么都没留下…
展开
-
“Java开发者必备神器:掌握 BeanUtils,这篇就够了!”
BeanUtils是Apache Commons提供的一个工具类库,专注于JavaBean的属性操作。对象属性的拷贝动态设置属性值类型转换Bean 与 Map的相互转换极大减少手动写setter/getter的繁琐提供丰富的工具方法,便于快速开发。原创 2024-12-08 13:37:32 · 599 阅读 · 0 评论 -
位运算的辉煌:通过异或实现代码优化
异或是一种二进制的位运算,符号以 XOR 或 ^ 表示。异或运算可以看作是模2加法,其结果等于对应位相加取模2。原创 2024-01-24 23:56:58 · 605 阅读 · 0 评论 -
Java实现UTC时区转换
因为最近拿到一个需求就是将数据库存放的时间进行转换成所对应的时区时间,所以这里就分享下如何用Java程序是实现这个功能。数据库层面如果数据库存放的是整型的时间戳,则可以使用FROM_UNIXTIME(数值)转换为对应的日期时间格式,然后再使用CONVERT_TZ(dt,from_tz,to_tz)函数将对应的日期时间转换为对应的时区时间。如果存放的是系统毫秒值,则先要将毫秒值将其变成秒,然后再转换成对应的时间日期格式。示例:获取当前时间戳SELECT UNIX_TIMESMTAMP() as ‘原创 2020-07-17 14:56:43 · 4975 阅读 · 0 评论 -
JUC并发编程(一): Lock锁+新版生产者消费者写法
1. 什么是JUCJUC是Java.util.concurrent包的简称,是Java提供用来支持高并发的工具类。2.进程和线程回顾进程/线程是什么?进程:正在运行的程序线程:CPU调度的最小单位一个进程可能包含多个线程,至少包含一个。Java main,GC线程。并发/并行是什么?并发:多线程操作一个资源类,快速交替过程。并行:多核CPU,同时处理多个线程。你吃饭,...原创 2020-02-15 19:05:55 · 403 阅读 · 0 评论 -
使用Java IO批量修改文件名
批量改文件的名字,把文件夹中类似于文件名,“零基础学Java_001_IO流_IO流概述"改成"001_IO流概述”。package javase.file.demo02;import java.io.File;/*分析: A:得到所有的文件对象(把所有要改名字的文件编程File对象) 1、得到所在文件的目录(D:\javase\Record\10IO流\a) 2、通过对这个目...原创 2020-02-04 16:43:59 · 546 阅读 · 1 评论 -
Java编译期的优化
语法糖所谓的 语法糖 ,其实就是指 java 编译器把 *.java 源码编译为 *.class 字节码的过程中,自动生成和转换的一些代码,主要是为了减轻程序员的负担,算是 java 编译器给我们的一个额外福利(给糖吃嘛)1 默认构造器public class Candy1 {}编译成class后的代码:public class Candy1 {// 这个无参构造是编译器帮助我们加...原创 2020-01-07 16:02:50 · 405 阅读 · 0 评论 -
Java从字节码分析条件语句的执行
请从字节码角度分析,下列代码运行的结果:public class Demo3_6_1 {public static void main(String[] args) {int i = 0;int x = 0;while (i < 10) {x = x++;i++;} System.out.println(x); // 结果是 0}}看到这个结果,很是大跌眼镜,下面就...原创 2020-01-07 11:10:43 · 219 阅读 · 0 评论 -
Java从字节码角度分析 a++ 相关题目
源码:package cn.itcast.jvm.t3.bytecode;/*** 从字节码角度分析 a++ 相关题目*/public class Demo3_2 {public static void main(String[] args) {int a = 10;int b = a++ + ++a + a--;System.out.println(a);System.out...原创 2020-01-07 10:32:59 · 238 阅读 · 0 评论 -
Java基本数据类型转换与引用类型转换
java中的数据类型分为基本数据类型和引用数据类型。 基本数据类型分为四类八种,分别是: 整数类型:btyte ,short,int,long 浮点型:float,double 字符型:char 布尔类型:boolean它们的取值范围如下图所示: 默认数据类型:整数类型是int,浮点数是double引用类型:类、接口、枚举、数组基本数据类型转换 隐...原创 2018-08-03 00:02:22 · 3177 阅读 · 0 评论 -
Java字符串String的实用方法
字符串的特点: 字符串的内容永不可变。【重点】 正是因为字符串不可改变,所以字符串是可以共享使用的。 字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。 创建字符串的常见3+1种方式: 三种构造方法: public String():创建一个空白字符串,不含有任何内容。 public String(char[] arr...原创 2018-08-01 16:42:12 · 316 阅读 · 0 评论 -
利用Scanner和Random类实现猜数字小游戏
思路:1. 首先需要产生一个随机数字,并且一旦产生不再变化。用Random的nextInt方法2. 需要键盘输入,所以用到了Scanner3. 获取键盘输入的数字,用Scanner当中的nextInt方法4. 已经得到了两个数字,判断(if)一下: 如果太大了,提示太大,并且重试; 如果太小了,提示太小,并且重试; 如果猜中了,游戏结束。5. 重试就是再来一次,循环次数不确定,...原创 2018-07-28 16:04:02 · 1010 阅读 · 0 评论 -
Java中数组的反转
数组反转就是将两个对称的位置的元素进行交换,在这里提供两种实现方式:思路一(如下图所示): 1.对称交换,所以需要两个变量来记录对称的两个位置 2.一组交换完后,左边的需要进行加1,右边的就需要进行减1 3.如果是奇数的话,当两个位置相等(min==max)就不会交换, 4.如果是偶数的话,当两个数擦肩而过的时候,即左边的跑到右边,右边的跑到左边(min&amp;...原创 2018-08-01 15:34:31 · 1837 阅读 · 0 评论 -
Java统计小字符串在大字符串中出现的次数
题目: 分析以下需求,并用代码实现: 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: 请输入大字符串: woaiheima,heimabutongyubaima,wulunheimahaishibaima,zhaodaogongzuojiushihaoma ...原创 2018-08-01 16:10:26 · 3425 阅读 · 0 评论 -
秒懂java跨平台原理
Java是一种跨平台语言,能够实现“一次编译,到处运行”,其中java的跨平台性主要是依靠JVM实现的,它的实现原理如下:可以把java程序看做是我,而我是一个中国人,是始终不变的!我们到美国去,需要中英翻译来帮我们将汉语翻译成美国人能理解的语言,当我们到韩国去的话,中英翻译就不能将汉语翻译成韩国人能理解的语言,所以这个时候需要中韩翻译,同理到日本去的话我们需要中日翻译,将中文翻译成日语。...原创 2018-07-25 15:23:58 · 1593 阅读 · 0 评论 -
轻松搞懂JDK,JRE,JVM三者之间的关系
JDkJDK(Java Development ToolKit),它是Java开发的最小环境,整个Java的核心,包括了Java运行环境,开发工具和Java基础类库。JREJRE(Java Runtime Enviromental),是java运行时环境。JVM JVM(ava Virtual Mechinal)。 JVM是JRE的一部分,它是一个虚构出来...原创 2018-06-27 08:30:07 · 226 阅读 · 0 评论