
java
文章平均质量分 79
MengW9
这个作者很懒,什么都没留下…
展开
-
一次性把Java的四种引用说清楚!
一次性把Java的四种引用说清楚!四种引用的区别其实四种引用的区别在于GC的时候,对它们的处理不同。用一句话来概括,就是:如果一个对象GC Root可达,强引用不会被回收,软引用在内存不足时会被回收,弱引用在这个对象第一次GC会被回收。❝如果GC Root不可达,那不论什么引用,都会被回收❞虚引用比较特殊,等于没有引用,不会影响对象的生命周期,但可以在对象被收集器回收时收到一个系统通知。下面结合案例分别来讲一下四种引用在面对GC时的表现以及它们的常见用途。先设置一下JVM的参数:-Xms转载 2020-10-13 18:09:00 · 142 阅读 · 0 评论 -
Java枚举类型 enum
定义An enum type is a special data type that enables for a variable to be a set of predefined constants. The variable must be equal to one of the values that have been predefined for it.枚举类型是一...原创 2019-08-10 19:07:00 · 449 阅读 · 0 评论 -
Java 发送http GET/POST请求
最近项目里面需要用到Java发送http请求,由于发送https请求有点复杂,暂时不考虑HttpURLConnectionHttpURLConnection是一种多用途、轻量极的HTTP客户端,使用它来进行HTTP操作可以适用于大多数的应用程序。HttpURLConnection是Java的标准类,它继承自URLConnection,可用于向指定网站发送GET请求、POST请求。它...原创 2019-08-06 11:13:00 · 85 阅读 · 0 评论 -
Java多线程
一、进程和线程:进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间,同时共享进进程锁拥有的内存和其他资源。线程有时...原创 2019-08-05 21:00:00 · 131 阅读 · 0 评论 -
Java使用正则表达式匹配多行 Pattern flags
Java中正则匹配有多种模式,若不选择模式则默认为单行匹配匹配模式(Pattern flags)compile()方法有两个模式未开匹配模式Pattern compile(String regex)开匹配模式Pattern compile(String regex, int flags)源码关于flags的描述Match flags, a bit mask th...原创 2019-09-03 18:57:00 · 493 阅读 · 0 评论 -
java FastJson的使用总结
1.前言1.1.FastJson的介绍: JSON(javaScript Object Notation)是一种轻量级的数据交换格式。主要采用键值对({"name": "json"})的方式来保存和表示数据。JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质上是一个字符串。 JSON的处理器有很多,这里我介绍一下FastJson,FastJson是阿里的开...原创 2019-08-20 21:00:00 · 102 阅读 · 0 评论 -
java中selenium判断某个元素是否存在
selenium工具直接通过findElement方法获取某个元素,如果该元素不存在肯定会报错,selenium又没有可以判断该元素是否存在的方法于是我们可以手写一个工具类,来判断这个元素是否存在selenium的使用这里推荐一个学习网站 http://www.testclass.net/selenium_java/install-java/** * 判断某个元素是否...原创 2019-09-18 17:07:00 · 1936 阅读 · 0 评论 -
java中通过Adb判断PC是否连接了移动设备
最近用到PC端和移动端通过USB连接传输数据的方式,于是总在使用Adb命令,为了逻辑的严谨和代码容错,想在传输数据的之前,PC和移动端先建立一次会话,防止移动端还未连接就直接传输数据会报错,找了很久并未发现这类方法,于是自己在代码里面通过Adb实现了这个方法。供大家参考,欢迎大家有更好的实现方式多多交流。直接上代码/** * @Description: 判断是否连接设备...原创 2019-12-20 14:51:00 · 777 阅读 · 0 评论 -
java中对对象进行判空的操作--简洁编码
java中对对象进行判空的操作首先来看一下工具StringUtils的判断方法:一种是org.apache.commons.lang3包下的;另一种是org.springframework.util包下的。这两种StringUtils工具类判断对象是否为空是有差的org.apache.commons.lang3包StringUtils.isEmpty(CharSequenc...原创 2019-12-06 16:21:00 · 719 阅读 · 0 评论 -
Java正则表达式匹配的坑
今天在判断字符串是否存在某个字符串,直接用String.matches(regex),死活匹配不出来,在线正则工具用了很多都是可以的,后面找到问题,总结一下,防止再次踩坑。一、前提java中判断一段字符串中是否包含某个字符串的方式:1、String.matches(regex);阅读源码发现,这个方法本质是调用了Pattern.matches(regex, str),而该方...原创 2020-08-19 18:27:00 · 495 阅读 · 1 评论 -
Java实现InputStream流的复制
获取到一个inputstream后,可能要多次利用它进行read的操作。由于流读过一次就不能再读了,而InputStream对象本身不能复制,而且它也没有实现Cloneable接口。实现思路:1、先把InputStream转化成ByteArrayOutputStream2、后面要使用InputStream对象时,再从ByteArrayOutputStream转化回来代码实现...原创 2020-08-20 15:12:00 · 640 阅读 · 0 评论 -
Java开发过程中的技巧
①不能相信调用端。重要的参数都要先做验证,即使是非空值也需要做验证,不符合条件的就要直接返回或抛异常,不能参与业务 SQL 的查询,否则频繁的访问也会对服务造成负担。②SQL 语句要先做性能查询。对于数据量大的表,建好索引后,所有的 SQL 查询语句要用 explain 检测性能,并且根据结果来进一步优化索引。③代码必须要 Review。尤其是像空值这种细小的错误在 Java 里可以...原创 2020-08-04 17:11:00 · 145 阅读 · 0 评论 -
Java8 将List<JavaBean>中某个属性取出来为单独的一个集合List<String>
有很多时候我们会遇到这样的场景,就是要将一个list中的某一个元素中的某一属性单独拿出来放在一个新的list里面,这中时候,我们就可以用以下的方法来进行实现:List<Bean> items = new ArrayList<>();List<String> collect = items.stream().map(Bean::getName).co...原创 2020-07-16 17:03:00 · 3003 阅读 · 0 评论 -
Java8之Optional 判空,简化判空操作
一、导语在没有用Optional判空之前,你是否也像下面的代码一样判空呢?如果是,请往下看,Optional 相对传统判空的优势。传统阶层判空为什么要用Optional,它到底是什么东西你也看到了上面的那张图,一旦代码量大起来了,条件多了,代码就会变得很冗余,变得难以维护。那么此时我们就有必要了解Optional了。Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optional 是个容器:它可以保存类型T转载 2020-10-10 17:02:39 · 925 阅读 · 0 评论 -
Java8之Lambda表达式
一、简介lambda 表达式是在 java8 中新增加的新特性,lambda 表达式其实就是一个匿名函数,有助于帮助开发者对一个接口更好的实现,也可以理解为 lambda 表达式就是用来实现接口中的抽象方法。二、基础语法因为 lambda 是一个匿名函数,而对于一个方法需要关注他的名称、参数类型、个数,返回值。但是由于它是匿名函数,所以对于 lambda 表达式来说就不需要关注他的名称,对于放回值类型也可以省略语法 ( ) -> { } -------------------转载 2020-10-10 15:59:18 · 226 阅读 · 0 评论 -
Java8之Stream流
Java8之Stream流 Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。Stream API −新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。一、概述Stream 是 Java8 中处理集合的关键抽象概念,它可以指定转载 2020-10-10 10:00:51 · 163 阅读 · 0 评论