Java基础
java基础
weisian151
大家一起来学习,讨论
展开
-
Java基础 split小数点返回空问题
上图可以看出,小数点直接split会返回空数组,因为小数点是java语法的特殊字符,需要进行转义(添加\)方可正常处理,类似字符还有:() [] {} + - * / . ^ ? $ ¦ 。等。原创 2021-11-19 09:24:39 · 639 阅读 · 0 评论 -
Java File对象和字节byte[]数组转换
1、通常我们在文件的上传和下载的时候,一般参数我们用的都是MultipartFile对象,但是在我们存储或者保存到fastdfs时,却用的是byte字节数组,下面贴个简单的代码事例吧!2、代码 需要借助io流进行处理,流在传输的过程中,使用的是字节或者字符,具体如下import java.io.BufferedOutputStream;import java.io.ByteAr...原创 2019-08-16 15:37:15 · 25032 阅读 · 2 评论 -
java 并发解决1--synchronized
1、项目中,往往会遇到一些场景,会因为用户高并发造成数据的异常。本例场景:多个管理员可以编辑仓库数据,仓库数据每次新增时候,会自动生成物品编号,规则为在已有最大编号的基础上加1。由于多个管理员恰好同时新增数据,造成两个物品对应一个编号的情况。本例为通过synchronized,设置方法同步,这样并发请求时,遇到需要同步的方法,第一个线程访问时方法上锁,其他线程等待第一个线程执行完成后解锁才可以访问。出现问题的代码:问题现象:使用同步解决后的代码:getInteger为同步方法在通过多路并原创 2021-12-22 17:13:34 · 381 阅读 · 0 评论 -
java IO序列化—纯个人见解
引入序列化:计算机对于数据的传输是以字节进行传输的,但是在java中对于基本类型可以直接通过getBytes()方法进行转码传输,但是对于对象却不可以直接转为字节,所以需要引入序列化的接口,可以将对象进行传输操作。序列化概念:序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。序列化与反原创 2017-07-25 20:21:36 · 358 阅读 · 1 评论 -
java file.delete()失效原因及修复
1、在工作中,有一些场景需要我们将一些文件下载到本地进行处理,一般放一个临时文件夹中,但是日积月累就会造成文件夹内存很庞大,所以我们需要在下载使用完成后再去删除文件,减小服务器的内存危机。所以使用到了file.delete()的方法,但是在使用时发现有时会失效,失效的原因一般如下:(1)、缓存中在使用文件时,delete失效,说明缓存有部分在使用,需要先清除缓存。在delete方法前,加上如下System.gc();(2)、文件被占用,需要确定你这个文件是否被其他的线程在使用,只有等文件完全原创 2020-11-18 17:46:33 · 5910 阅读 · 0 评论 -
Java intern() 方法
定义:intern() 方法返回字符串对象的规范化表示形式。它遵循以下规则:对于任意两个字符串 s 和 t,当且仅当 s.equals(t) 为 true 时,s.intern() == t.intern() 才为 true。语法: public String intern()返回: 一个字符串,内容与此字符串相同,但一定取自具有唯一字符串的池。实例一:S...转载 2018-11-19 09:33:06 · 322 阅读 · 1 评论 -
JSONArray.remove(index)失败原因分析
集合在执行remove方法的时候,有两种执行方式,第一种移除对象remove(object),另一种根据下标移除remove(intIndex)。错误案例:List removeIndexList = new ArrayList();for (int i = removeIndexList.size() - 1; i >= 0; i–) {dataJsonArray.remove(removeIndexList.get(i));}当我们执行上面代码的时候发现,实际上没有根据下标进行对象移除原创 2022-02-16 14:19:36 · 1772 阅读 · 0 评论 -
Java 常用json处理方式
// String和json的互相转换 String str = "{\"status\":200,\"message\":\"\",\"data\":{\"KmList\":[\"总分\",\"语文\",\"数学\",\"英语\",\"道德与法治\",\"科学基础\"]}}"; System.out.println("str:"+str);// JSONArray arrays = JSON.parseArray(str); // strin.原创 2020-08-20 18:01:12 · 364 阅读 · 0 评论 -
java BigDecimal保留两位小数
如果该数字不足两位小数,则也不会补0,需要注意一些场景可能不合适。通过上图可以看到,#在补位时,如果该位没有数字会补空,如果是0.123这样的整数位为0的数字,则会丢失整数位;(6)、比较大小compareTo()方法,如果返回1则前者大,0一样大,-1前者小。0在补位时,如果该位没有数字会补0,所以整数位切勿用00.这样的表达式,造成最左侧存在多余0。(2)、减法subtract()函数、(3)、乘法multiply()函数、(4)、除法divide()函数、(1)、加法 add()函数、原创 2023-01-06 16:40:39 · 69561 阅读 · 4 评论 -
java IO字节流和字符流常见类总结
前述程序在运行结束后,数据内容就会被内存回收掉,从而消失,为了使一些有用的数据可以被下一次调用该程序时候直接使用,所以需要引入IO的操作将数据从内存中传输到磁盘中,从而实现数据的持久化(或者使用数据库也可以实现数据的持久化)。数据的传输都是通过两种类型的流:输入流和输出流,这就是IO。流的继承关系图需要读入数据使用输入流,需要写入数据使用输出流;按照操作的数原创 2017-07-26 15:41:01 · 6796 阅读 · 1 评论 -
Java PropertyDescriptor对象
1、PropertyDescriptor简述 PropertyDescriptor对象是位于java.beans包下的工具类,顾名思义为属性描述器,通常我们用于通过反射获取对象方法的时候,下面来看一下常用的用法吧!2、PropertyDescriptor用法(1)、给你一个java对象,你如何生成PropertyDescriptor对象呢? 通常,我们会用到...原创 2019-08-14 10:30:08 · 1837 阅读 · 0 评论 -
java 本地模拟高并发
通过http请求和多线程实现。1、复写测试线程类,run方法中通过http请求进行模拟。public class ThreadDemo implements Runnable { @Override public void run() { for (int i =0;i<10;i++){ String url = "http://localhost:8080/aaa/test"; HttpUtils.doGet(url原创 2021-12-22 16:47:50 · 1722 阅读 · 0 评论 -
java SecureRandom.getInstanceStrong()随机数的深坑
2、SecureRandom.getInstanceStrong()造成阻塞的原因:在不同的系统环境执行的底层代码不相同,在linux系统中通过底层NativePRNG方法,通过/dev/random方式读取随机数,/dev/random方式受系统环境的影响容易造成线程阻塞;1、在获取随机数时,使用new Random()写发时,在sonar扫描提示建议使用SecureRandom.getInstanceStrong()语法获取。原创 2022-11-03 10:21:30 · 1967 阅读 · 4 评论 -
java8--stream用法
java8新特性,stream流的用法,实现了对集合的一些特殊处理,处理的方式比较类似于sql的语法。以下案例均为正确使用方法,仅供学习参考import com.alibaba.fastjson.JSON;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;public class StreamDemo { pub原创 2020-07-13 15:05:17 · 268 阅读 · 1 评论 -
Java比较器Comparator接口和Comparable<泛型>接口的纯个人见解
1、关于Compare接口接口的比较以一个简单的例子来说,将一个项目分成三个部分,第一个pojo为要比较的对象类,第二个定义一个Comparator的类去实现comparator的接口,内部覆写compare的方法,第三个为java的测试类,主要是写Main相关。一个简单的例子说明一切,本例用于比较User的对象,而不是String或者Integer这两个已经实现Comparable接口的原创 2017-07-21 14:53:58 · 1130 阅读 · 2 评论