java基础
文章平均质量分 66
专注写bug
你知道的越多,你不知道的也越多!
展开
-
Windows配置JAVA_HOME但是未生效问题
之前用的都是jdk 1.8,但最近需要修改一个老项目,老项目使用的是1.6。修改java_home为1.6的路径后,在cmd中输入发现并未更改。原创 2023-11-08 18:56:46 · 1510 阅读 · 0 评论 -
Java——使用bsh实现简单动态公式计算
简单加减乘除公式,采取公式的动态注入并计算返回结果原创 2023-05-16 22:24:14 · 908 阅读 · 0 评论 -
Stream——替换集合中的某些值
stream使用map和peek分别替换简单类型和类类型集合中某个属性的值原创 2023-05-08 21:25:37 · 7287 阅读 · 0 评论 -
Stream——数字类型的字符串排序
Stream 实现简单的数字类型字符串集合和对象 排序功能原创 2023-03-07 00:21:58 · 7174 阅读 · 5 评论 -
Stream——集合数据按照某一字段排序
Stream实现数据集合,按照某个字段进行升序或者降序排序原创 2023-02-24 18:03:49 · 7218 阅读 · 0 评论 -
Java——记录BigDecimal与0比较的一个坑
BigDecimal 的 0 值 equals 问题,采取 compareTo 解决原创 2022-12-20 14:53:28 · 2506 阅读 · 0 评论 -
Java——日期获取转换(工具类)
Java日期转换工具类原创 2022-09-22 16:40:47 · 779 阅读 · 0 评论 -
Maven——采用profile设定不同的开发环境切换
通过profiles节点标签,实现项目不同环境配置项的切换原创 2022-09-01 10:50:07 · 1364 阅读 · 1 评论 -
Java——判断输入字符串数据是整数、小数还是字符
判断输入字符串数据是整数、小数还是字符原创 2022-07-14 14:45:30 · 1347 阅读 · 0 评论 -
最通俗易懂的java注解讲解
Annotation 中文译过来就是注解、标释的意思,在 Java 中注解是一个很重要的知识点,但经常还是有点让新手不容易理解。转载 2022-07-12 10:55:08 · 321 阅读 · 0 评论 -
SQLite——Java使用SQLite初体验
相比大多数数据库而言,具有等优势,广泛应用于、等领域。原创 2022-07-11 11:13:16 · 12694 阅读 · 1 评论 -
Jmeter——安装、配置和使用
文章目录前言Jmeter 汉化配置Jmeter 启动Jmeter 使用添加线程组配置线程并发数添加Http取样配置取样启动前言最近做压测,测试服务器接口性能,发现博客中少了 Jmeter 的配置和使用说明。特意增加补充。Jmeter 汉化配置在Jmeter 的安装目录中的bin目录下,找到一个叫jmeter.properties的配置文件。将其打开,修改其中的语言配置为language=zh_CN,如下所示:Jmeter 启动修改保存后,在同级目录下,双击jmeter.bat启动Jmeter。原创 2022-03-03 20:15:00 · 450 阅读 · 0 评论 -
IDEA如何打断点调试
文章目录1. 设置断点2. 调试3. 调试的基本操作3.1 step over3.2 step into 跟 Force step into3.3 step out3.4 resume program3.5 mute breakpoints3.6 view breakpoints3.6 条件断点编写代码的时候,有时候我们需要跟踪代码的运行情况,使用断点调试就是一个不错的方法,接下来介绍一下如何在IDEA中使用断点进行调试1. 设置断点直接在你需要打断点的代码的行号区域,点击,即可设置断点,如图所示转载 2022-02-23 19:30:10 · 23767 阅读 · 4 评论 -
使用Java代码执行Windows指令?
最近看java.lang.Runtime的源码,发现其中有个好玩的东西,尝试了一下,受益颇多。如下所示:import java.io.*;public class runtime { public static void main(String[] args) throws Exception { Runtime runtime = Runtime.getRuntime(); Process ipconfig = runtime.exec("ipconfig"原创 2021-11-03 17:10:10 · 1363 阅读 · 4 评论 -
Java——序列化和反序列化
文章目录什么是序列化和反序列化序列化和反序列化的使用如何保证反序列化后对象地址一致什么是序列化和反序列化序列化和反序列化一直都是一种很模糊的概念,关于理论有位大佬这么说到:把对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为对象的过程称为对象的反序列化。参考博客:Java对象的序列化和反序列化本篇博客对其不做过多的阐述,只是单纯的说明序列化和反序列化使用时需要注意的相关细节。序列化和反序列化的使用Java为了保证一个具有序列化和反序列化的能力,对其提供了一个接口java.io.S原创 2021-11-02 20:49:17 · 888 阅读 · 3 评论 -
Java——泛型 T、K、V、E、?
文章目录背景简介泛型类、泛型接口泛型通配符?无界通配类型通配符上限(extends)通配符的下限(super)下限和上限小结类型擦除资料参考背景Java在推出泛型之前,程序员可以构建一个元素类型为Object的集合,这种集合可以存储任意的数据类型对象,而在使用该集合的过程中,需要程序员明确知道存储每个元素的数据类型,否则很容易出现ClassCastException。如下面这种案例:package fanxing;import java.util.ArrayList;public class原创 2021-10-22 13:32:52 · 739 阅读 · 0 评论 -
Java——线程五大状态
文章目录线程状态状态描述线程状态状态描述原创 2021-10-11 20:41:40 · 1081 阅读 · 2 评论 -
Java——异常
文章目录简介Java异常的分类和类结构图原文连接简介程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?。Java提供了更加优秀的解决办法:异常处理机制。异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。Java中的异常可以是函数中的语句执行时引发的,也可以是程序员通过t转载 2021-09-29 15:11:41 · 74 阅读 · 0 评论 -
查看Java对象占用内存信息
jps 查看进行idjpsjmap 查看细节jmap -histo 11500其他指令参考jvm 性能调优工具之 jmap原创 2021-09-14 17:27:31 · 401 阅读 · 0 评论 -
Java——查看Java代码执行的汇编语言
文章目录测试环境下载文件安装IDEA应用运行效果测试环境Windows 10下载文件首先需要下载一个hsdis的工具。下载链接如下所示:安装解压下载好的.zip文件,根据系统版本32位/64位,选择对应的hsdis-amd64.dll文件。将其放在配置好的环境变量JAVA_HOME对应的JAVA_HOME\jre\bin\server中。IDEA应用在指定的类中运行前增加下列配置:-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly原创 2021-08-25 16:16:29 · 421 阅读 · 0 评论 -
Java——十六进制转十进制(带符号)
文章目录JS参考Java转换JS参考JS——十六进制数转十进制(带符号)Java转换Java转换相对简单,如下所示:String hexStr = "F831";short shortValue = Integer.valueOf(hexStr, 16).shortValue();System.out.println(String.valueOf(shortValue));转换后输出如下:...原创 2021-08-24 00:03:44 · 1967 阅读 · 0 评论 -
原码、反码、补码(笔记)
文章目录原码反码补码面试题原码符号位 加上 真值的绝对值,即用第一位表示符号,其余位表示值。n位二进制原码范围为-2(n-1)-1~+2(n-1)-1。假设java某类型参数数据如下所示:int a = 5;int b = -5;由于int是4字节长度,按照1字节 = 8位来看,上述数据的二进制原码如下所示:int a = 5;0000 0000 0000 0000 0000 0000 0000 0101针对第二个数据:int b = -5;由于是负原创 2021-07-29 17:17:22 · 362 阅读 · 0 评论 -
JDK 1.8 —— 函数式接口和Lambda表达式
文章目录前言四大函数式接口Function 函数式Predicate 断定性函数Consumer 消费者函数Supplier 供给式函数前言在jdk 1.8之前,可以针对接口采取匿名内部类的方式,实例化出来。在jdk 1.8 及以后可以采取Lambda表达式实现。只要是函数式接口,都能使用Lambda表达式简化代码。四大函数式接口参考开发文档中java.util.function。Function 函数式其特性如源码所示:1、由@FunctionalInterface修饰,表示该接口中有原创 2021-03-22 20:26:22 · 193 阅读 · 0 评论 -
IDEA——修改开发环境为 JDK 1.8
文章目录修改Project为1.8修改Modual为1.8修改编译 1.8修改Project为1.8修改Modual为1.8修改编译 1.8原创 2021-03-09 17:53:26 · 2911 阅读 · 0 评论 -
java单例——反射破坏和防止破坏
单例是什么单例:个人理解为,每次操作都是一个实例化对象,在程序有效的前体下,堆内存中实例化对象的地址不变。下面看一个单例的栗子:public class SingleVo { public static int times; // 单例,对外不能暴露创建实例化对象的方法 private SingleVo() { System.out.println("单例调用次数"+(++times)); } // 采取 饿汉式,加载至jvm时就创建对象 private final stati原创 2020-08-31 15:37:36 · 725 阅读 · 0 评论 -
set集合之hashset为什么是无序的?
这里我没有说Set是无序的,毕竟说父类set集合无序的,是不对的,这里不说太多,只指出一点,Set父类下包含很多子类,如:hashSet、TreeSet,但treeset却是有序的。回归博客文章主题,为什么sh说HashSet是无序的?首先我们看源码解析。一、创建hashset实例化对象Set<String> set = new HashSet<Strin...原创 2019-07-19 16:10:09 · 6186 阅读 · 1 评论 -
String与常量池(JDK1.8)
---- 基础知识 String是final类, 并且其方法都被final修饰 String通过char数组来保存字符串 对String对象的任何操作都不会影响到原来的String对象, 所有的改变都会创建新String对象---- 创建与内存场景分析?--- 常量赋值 代码: 内存图: 分析:对于常量赋值来说, 变量s1始终...转载 2019-09-29 13:52:51 · 595 阅读 · 0 评论 -
在java中,任何数除以0都一定异常吗?
public class StringtoUpper { public static void main(String[] args) { /*String s = "weixin_textmsg"; System.out.println(s.toUpperCase());*/ try { System.out.println("---->"+10/0); } ca...原创 2019-05-22 12:12:36 · 3069 阅读 · 0 评论 -
java基础----ArrayList源码分析
java对于集合这块还是很重要的,比如说再Android开发对数据的存储,以及Web后台开发,对数据库查询数据或查询条件的数据存储等都应用广泛。今天突然想研究下java.util.List<E>中对于ArrayList子类的几个基本源码实现流程。一、集合的概述(图片的方式展示接口和子类的关系)二、ArrayList集合的基本操作package jiheCollec...原创 2019-05-09 20:00:09 · 228 阅读 · 0 评论 -
java基础(1.8)---HashMap源码分析(待完善)
一、HashMap简介HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。二、HashMap的主要构成static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // ak...原创 2019-05-14 10:05:13 · 180 阅读 · 0 评论 -
java反射知识总结(只针对使用)
目录一、了解反射(反射的三种实现方式)二、实例化反射(只有实例化反射了,才具有了这个类真正的操作权)三、获取被反射对象的包名称、父类(接口)名称和包路径名四、获取类的构造方法五、通过有参或无参构造方法实例化对象六、获取反射到的类的普通方法七、获取反射到类中的属性信息八、获取本类的属性,并进行赋值取值操作。(一般都是通过set/get方式实现)九、获取成员变量的类...原创 2019-04-28 19:14:20 · 582 阅读 · 0 评论 -
java 十进制数和十六进制数互相转换,正则等知识总结
一、将 "a"转化为 "10" 的样式public static String hexStrToIntStr(String hexStr) { // 不存在数据时 返回null if (hexStr == null || hexStr == "") { return null; } String regexStr = "^[A-Fa-f0-9]+$"; // 字符串...原创 2019-03-13 19:24:14 · 1403 阅读 · 2 评论 -
MAVEN+Eclipse 搭建SSM框架
一、提前准备:1、本地Maven仓库搭建完成;2、Eclipse整合maven本地仓库完成;二、创建maven - web工程1、新建项目2、设置项目包路径名和项目名称3、更改配置项右键项目 --- 选择properties -- 找到ProjectFacets更改jdk版本为1.8(我用的1.8)取消Dymamic Web Module 前面的勾,...原创 2019-03-13 21:15:30 · 308 阅读 · 0 评论 -
最近团队用h5+做了一个app,需要使用java做原生插件,现在分享下经验
这篇博客是我之前写的,现在看来没啥好的知识点,帮助不了大家,于今天进行内容更改。接下来我将对于我做的app之中,插件的制作做一个说明和讲解吧,大家先看,有问题记得通知我哦,免得我一错再错。第一步,查看官方插件开发实例,下载相关工具文件和进行环境的准备,跳转连接。第二步,官方的不好理解,看我的另外一篇博客吧,虽然只写了异步回调的,《再读mui混合插件开发文档》。第三步,相关实例:缓存...原创 2018-01-16 00:10:27 · 4505 阅读 · 1 评论 -
java -- 反射之利用反射完善工厂设计模式
java的工厂设计模式源自于生活,大家先看一个例子,比较简单,我刚开始了解工厂时看到的简单例子。interface IFruit { public void eat();}class Apple implements IFruit { @Override public void eat() { System.out.println("苹果削皮吃"); }}public ...原创 2018-08-23 11:48:56 · 757 阅读 · 0 评论 -
java --- 反射之了解反射和通过构造 方法实例化对象
个人理解反射可以不通过new这个关键字产生一个指定的类,并可以调用成员变量,普通方法,构造方法等。首先看一个代码例子import java.util.Date;/** * 反射取得实例化对象的三种方式 * @author 76519 * */public class TestDemo1 { public static void main(String[] args) { ...原创 2018-08-23 11:13:46 · 1695 阅读 · 2 评论 -
使用jdbc连接数据库,如何使用PreParedStatement类实现in的查询
大家都知道PreParedStatement类相比Statement更加方便的实现sql语句的动态赋值问题,虽然Statement也可以采取字符串拼接的方式实现,但代码整体风格看着不舒服,PreparedStatement类由Connect接口获取,同时再sql语句中采用占位符("?")的形式,方便程序员进行数据的赋值。但由此引申一个问题,如何区域查询呢?大家随便看个sqlselect ...原创 2018-08-27 14:10:06 · 8923 阅读 · 0 评论 -
java学习----hashCode的计算
一、常见类型的几个案例class People{ }public class Test { public static void main(String[] args) { Integer a = 10; System.out.println(a.hashCode()); String str = "A"; System.out.println(str.hashCod...原创 2019-05-22 18:24:15 · 4496 阅读 · 0 评论 -
java注解的自定义和使用
表示该注解可以用于什么地方,可能的ElementType参数有:CONSTRUCTOR:构造器的声明FIELD:域声明(包括enum实例)LOCAL_VARIABLE:局部变量声明METHOD:方法声明PACKAGE:包声明PARAMETER:参数声明TYPE:类、接口(包括注解类型)或enum声明转载 2019-05-31 17:45:24 · 109 阅读 · 0 评论 -
小计java.lang.System.arraycopy 一个很好用的方法
将指定的数组中的数据保存至新的数组中旧代码的实现dynamicMac[0] = scanBytes[5];dynamicMac[1] = scanBytes[6];dynamicMac[2] = scanBytes[7];dynamicMac[3] = scanBytes[8];新代码的实现 System.arraycopy(数组源, 数据拷贝的起点下标, 新的数组, 新...原创 2019-07-01 16:56:01 · 165 阅读 · 0 评论