Java
文章平均质量分 72
Java
野生开发者
野生程序猿进阶中
展开
-
Java 程式 main 方法传参数
时,则可以在项目上右键,选择。时,则可以在项目上右键,选择。原创 2024-04-02 11:04:27 · 836 阅读 · 0 评论 -
【JavaWeb】搭建一个简单的javaweb项目及相关内容分析
文章目录1、简单项目搭建2、web.xml文件中相关配置及加载顺序2.1、web.xml文件中相关配置2.2、web.xml中内容的加载顺序1、简单项目搭建使用Eclipse创建一个简单的web项目,只创建一个Servlet、一个Filter以及相关前端的页面用于测试(1)使用Eclipse创建一个 “Dynamic Web project” 项目,步骤省略(2)创建一个Filter类,代码如下:public class JwtFilter implements Filter { @Over原创 2020-06-19 14:17:00 · 2296 阅读 · 0 评论 -
Java集合框架——Map
@@@原创 2020-09-18 10:46:33 · 413 阅读 · 0 评论 -
Java集合框架——Set
Set是集合接口Collection的子类,该接口的常用的实现类简易结构图如下:接下来我们就依次介绍下上图中的实现类:1、HashSet类先来看HashSet的源码,对其中部分内容进行分析介绍:public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable{ private transient HashMap<E,O原创 2020-09-18 10:48:36 · 255 阅读 · 0 评论 -
ConcurrentHashMap源码解析(jdk1.8)
ConcurrentHashMap 1. 原理解析 1.1. 重要成员变量1.2. 实例初始化1.3. put操作 1.3.1 put过程描述1.3.2 hash算法1.3.3 定位索引1.3.4 获取table对应的索引元素f 1.4. table 扩容 1.4.1 addCount1.4.2 treeify1.4.3 transfer 1.5. get操作1.6. 统计size1.7 删除元素 1.7.1 清空map:clear1.7.2 ...转载 2020-09-18 11:14:10 · 366 阅读 · 0 评论 -
Java集合框架——List
文章目录前言1、ArrayList类2、Vector类3、LinkedList类前言先上一个List集合下的一个简易的结构图:1、ArrayList类ArrayList的底层实现为数组,是List中最常用的类,查询效率高,删除、插入的操作效率较低;接下来看一下继承关系:public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Clone原创 2020-09-17 17:20:44 · 246 阅读 · 0 评论 -
Java集合框架(一)
先来看一个java集合的框架图:图片来源 https://www.runoob.com/java/java-collections.html上图为一个完整的java集合框架图,由上图可知,java的集合框架可以整体归为两种类型,一类实现Collection接口的集合,另一种为Map;接下来我们只对我们开发中常用的内容整理出如下的框架图:...原创 2020-09-18 10:49:40 · 228 阅读 · 0 评论 -
Window10 下同时安装 JDK8 和 JDK11
的配置在 Oracle 默认的路径配置的最前边 或者将 默认的路径和配置删除掉,否则会导致切换的失败。这是在安装 JDK 时 Oracle 默认的位置,为了实现可以方便的切换JDK的版本,就需要保证。中的第二行,还有一个配置。原创 2024-01-03 11:50:28 · 856 阅读 · 0 评论 -
数字格式化输出NumberFormat
--------------------------------------------------------------- java.text.NumberFormat类有三个方法可以产生下列数据的标准格式化器: 数字 货币 百分数 --------------------------------------------------------------- 创建格式化器(默认地区Local...转载 2021-08-03 17:10:54 · 839 阅读 · 0 评论 -
Apache Tika入门
文章目录1、基本介绍2、Tika使用2.1、解析器接口(The Parser interface)2.1.1、自定义Parser类2.2、检测器接口2.3、Tika配置1、基本介绍Apache Tika(文本分析工具包)能够检测并提取来自上千种不同文件类型(如PPT、XLS和PDF)的元数据和文本;所有这些文件类型都可以通过一个接口进行解析,这使得Tika在搜索引擎索引、内容分析、翻译等方面非常有用。2、Tika使用介绍下Tika在Maven项目中的使用,首先介绍下Tika相关的两个Maven依赖:原创 2021-06-03 15:21:25 · 5303 阅读 · 0 评论 -
内部类浅析
内部类一个类A定义在另一个类B的内部,则A就称为类B的内部类,B为类A的外部类。一般两个类之间有包含关系,但是又是独立的个体时,可以使用内部类的方式;例如小汽车和引擎的关系,就可以将引擎类作为小汽车类的内部类。1、一般内部类先来看如下的代码:public class BMWCar { private String origin; public BMWCar(String origin) { this.origin = origin; } public void carInfo() {原创 2020-11-06 11:31:37 · 964 阅读 · 0 评论 -
BeanUtils工具类中的copyProperties方法使用
文章目录1、两个包下的BeanUtils.copyProperties对比2、BeanUtils.copyProperties的深浅拷贝问题2.1、浅拷贝和深拷贝2.2、BeanUtils.copyProperties深浅拷贝问题1、两个包下的BeanUtils.copyProperties对比BeanUtils是开发中常用到的工具类,而获取这一工具类主要是通过导入org.springframework.beans.BeanUtils或者org.apache.commons.beanutils.Bean原创 2020-10-30 15:58:32 · 83044 阅读 · 10 评论 -
Java中的VO/DTO/PO/BO/DO/POJO介绍
接下来介绍一下各种O的意义以及自己的理解:VO:(View Object/Value Object)视图对象/值对象,主要是用于视图层,将页面上需要展示的数据进行封装起来;也可用于提交表单数据时将页面上的表单数据进行封装提交(有些在提交表单时直接用dto来代替或者单独建立一个form来处理,具体要根据工作要求);DTO:(Data Transfer Object)数据传输对象,主要是用于在****视图层与业务逻辑层之间进行数据的传递,从Controller层到Service层;BO:(Busines原创 2020-10-14 11:18:22 · 1186 阅读 · 1 评论 -
Lambda表达式在函数式接口中的使用
文章目录1、什么是函数式接口2、使用Lambda表达式来实现函数式接口1、什么是函数式接口所谓的函数式接口(Functional Interface)是当前的接口中只能包含一个待实现的抽象方法;说到函数式接口就要说到一个注解 @FunctionalInterface,该注解是一个空的注解,主要用于编译级错误检查,加上该注解,当你写的接口不符合函数式接口定义的时候,编译器会报错。接下来举几个例子:由上述可知,接口中有多于一个或者没有待实现的抽象方法则不符合函数式接口的定义,当加上@Function原创 2020-09-18 17:44:51 · 575 阅读 · 0 评论 -
【Java】枚举类在Switch中的使用以及在Switch中抛出异常
1、枚举类在Switch中的使用话不多说,直接上代码:public enum StatusEnum { PUBLISHED(1,"PUBLISHED"),DELETED(2,"DRAFTED"); private Integer code; private String status; private StatusEnum (Integer code, String status) { this.code = code; this.status = status; } pub原创 2020-06-04 18:11:51 · 5121 阅读 · 0 评论 -
【Java】Java泛型类继承Comparable接口
遇到一个泛型类中的新应用,记录一下,如果泛型类中的泛型需要进行比较可以通过让泛型继承Comparable接口的方式来实现,如下:public class SortedSymbolList<Key extends Comparable<Key>, Value> { // .................. // Key类型继承了Comparable接口以后就可以在代码中,Key类型的参数就可以进行比较的操作了}或者public class SortedList<T原创 2020-06-04 11:01:15 · 4076 阅读 · 4 评论 -
【Java】深入分析Java中的中文编码问题
文章目录一、几种常见的编码格式1、为什么要编码2、如何“翻译”二、Java 中需要编码的场景1、I/O 操作中存在的编码2、内存中操作中的编码三、Java 中如何编解码1、按照 ISO-8859-1 编码2、按照 GB2312 编码3、按照 GBK 编码4、按照 UTF-16 编码5、按照 UTF-8 编码6、几种编码格式的比较四、Java Web 涉及到的编码1、URL 的编解码2、HTTP Header 的编解码3、POST 表单的编解码4、HTTP BODY 的编解码5、其它需要编码的地方五、常见问题转载 2020-05-27 14:34:50 · 3527 阅读 · 1 评论 -
【Java】重定向时参数传递的问题
文章目录1、无法传递中文参数2、url中含有某些字符无法重定向1、无法传递中文参数将中文进行转码操作:String message = "测试程序!";message = new String(message.getBytes("utf-8"),"iso-8859-1");response.sendRedirect("http://xxxxx?message="+message);...原创 2020-04-28 17:23:55 · 2827 阅读 · 1 评论 -
【Java】Java中的Stream
public static void main(String[] args) { List<String> strList=Arrays.asList("zhangsan ","lisi ","wangwu ","zhangfei ","zhaoyun ","zhaoyun "); // foreach strList.forEach(item->System.out...原创 2019-12-31 16:04:47 · 612 阅读 · 0 评论 -
【java】 java中的BigDecimal
支持原创,博客原文:Java BigDecimal详解1.引言 float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。先看下面代码: pub...转载 2019-12-26 15:19:38 · 572 阅读 · 0 评论 -
【Java】JavaWeb中转发与重定向
在JavaWeb中有两个常用到的知识点,转发和重定向,针对于这两个知识点,在本文中进行介绍。1、转发先来介绍一下转发的过程,转发过程相当于AServlet接收到了一个前端的请求,然后由AServlet转给BServlet在进行处理,在这个过程中,(1)浏览器是不会察觉到的,因此浏览器中的地址也不会有变化;(2)由于是同一个请求,所以Bservlet与AServlet是公用同一个requ...原创 2019-12-25 15:17:26 · 616 阅读 · 0 评论 -
【Java】Java中常用的比较器实现
对Java中常用比较器的使用进行整理记录1、覆写Object类的equals方法如果一个自定义的对象类中没有覆写equals方法,这是使用equals进行比较两个对象与使用"=="是一样的,都是比较的是两个对象的地址(即两个对象是否为同一个对象);如果覆写了equals()方法,则是比较其中的属性值是否相等。下面以...原创 2019-12-19 13:50:06 · 1374 阅读 · 2 评论 -
【Java】Java中的日期、时间
时间格式的转化是一个比较常用到的知识点,在这里就进行整理记录一下1、由Date类型转化为指定的String类型 // Date格式转化为字符串 Date date = new Date(); System.out.println(date); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:...原创 2020-04-21 15:45:30 · 651 阅读 · 0 评论 -
【Java.IO】Java基础笔记之IO
文章目录1、IO流相关类的层次图2、字节流和字符流2.1、字节流2.2、字符流3、字节流、字符流转换4、BufferedWriter和BufferedReader1、IO流相关类的层次图下图为IO流的层次图:2、字节流和字符流2.1、字节流字节流下两个常用的抽象类:OutputStream和InputStream;但由于是抽象类,因此不能直接进行实例化操作,在使用的时候,首先需要通过子...原创 2019-11-01 17:32:24 · 424 阅读 · 0 评论 -
【java基础】java跨平台使用换行符
换行符:System.lineSeparator() 或 System.getProperty(“line.separator”)原创 2019-11-01 11:44:05 · 915 阅读 · 0 评论 -
【Java】线程基础
参考别人的文章以及自己的理解将java多线程的相关知识进行总结。文章目录1、线程的生命周期2、创建线程2.1 实现 Runnable 接口来创建线程2.2 继承Thread来创建线程2.3 使用Callable和Future接口创建线程1、线程的生命周期上图展示的是一个线程的生命周期,【图片来源于网络】,完整的生命周期分为以下几步:(1)、新建状态使用 new 关键字和 Threa...原创 2019-10-24 15:27:13 · 400 阅读 · 0 评论 -
【Java】Java8新特性之Optional
Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。Optional 类的引入很好的解决空指针异常。参考文章:Java 8 Optional 类public c...原创 2019-10-23 13:55:58 · 486 阅读 · 0 评论 -
【线程】Java线程中yield与join方法的区别
Java线程调度的一点背景在各种各样的线程中,Java虚拟机必须实现一个有优先权的、基于优先级的调度程序。这意味着Java程序中的每一个线程被分配到一定的优先权,使用定义好的范围内的一个正整数表示。优先级可以被开发者改变。即使线程已经运行了一定时间,Java虚拟机也不会改变其优先级优先级的值很重要,因为Java虚拟机和下层的操作系统之间的约定是操作系统必须选择有最高优先权的Java线程运行。所...转载 2019-02-25 17:15:50 · 275 阅读 · 0 评论 -
Java中的多线程知识整理
分成以下几部分来总结涉及到多线程的内容:线程的状态每个对象都有的方法(机制)基本线程类高级多线程控制类1、线程的状态线程状态转换图线程的在这里插入代码片五种基本状态:新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread();就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线...转载 2019-02-25 16:55:58 · 268 阅读 · 0 评论 -
hibernate缓存机制详细分析
感谢原文作者,原文链接:http://www.cnblogs.com/xiaoluo501395377/p/3377604.html文章目录一、N+1问题二、一级缓存(session级别)三、二级缓存(sessionFactory级别)四、查询缓存(sessionFactory级别)在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别)、二级缓存(sess...转载 2019-02-28 15:19:58 · 302 阅读 · 0 评论 -
Java中的jar包下载地址整理
jar包下载地址:(1)https://www.kumapai.com/open(2)http://maven.ibiblio.org/原创 2019-01-16 20:54:29 · 1031 阅读 · 0 评论 -
使用动态代理自定义数据库连接池时ClassCastException : $Proxy0 cannot be cast to java.sql.Connection 异常
使用动态代理自定义数据库连接池主要代码如下:final Connection conn=...;Connection poxyConn=(Connection) Proxy.newProxyInstance(conn.getClass().getClassLoader(), conn.getClass().getInterfaces(), new InvocationHandler()...原创 2019-01-16 20:43:59 · 393 阅读 · 0 评论 -
spring对struts2进行整合时,启动Tomcat报错:com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance
spring对struts2进行整合,启动tomcat时报以下错误:Caused by: java.lang.NullPointerException at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:245) at com.opensymphony....原创 2019-01-24 16:53:12 · 407 阅读 · 0 评论 -
struts2中ModelDriven<T>接口介绍
struts2中实现ModelDriven接口作用以下边的代码为例来介绍该接口作用:public class CustomerAction extends ActionSupport implements ModelDriven<Customer> { private Customer customer=new Customer(); @Override public Cus...原创 2019-01-24 16:40:17 · 475 阅读 · 0 评论 -
【Java】接口与抽象类
从以下三个方面对接口和抽象类进行介绍总结:抽象类接口抽象类与接口的区别1、抽象类抽象类相关基本知识总结:包含抽象方法的类称为抽象类,但是抽象类中并不只包含抽象方法也可以有一般方法;抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法);抽象类不能被实例化;子类使用extends关键字来继承抽象类,如果子类不是抽象...原创 2019-02-26 10:40:28 · 283 阅读 · 0 评论 -
【线程】ThreadLocal使用及数据结构
文章目录1、ThreadLocal的使用2、ThreadLocal的数据结构1、ThreadLocal的使用ThreadLocal的确是数据的隔离,但是并非数据的复制,而是在每一个线程中创建一个新的数据对象,然后每一个线程使用的是不一样的。public class ThreadLocalTest { private static ThreadLocal<Integer> thr...原创 2019-03-02 15:19:52 · 1837 阅读 · 2 评论 -
【多线程】多线程的经典案例(卖票问题)
感谢原文作者,原文链接:http://blog.csdn.net/weimeig/article/details/79512965卖票问题class Xc implements Runnable{ public int chepiao = 100; public void run(){ while (true) { if(chepiao>0){ System.o...转载 2019-03-02 15:50:09 · 672 阅读 · 0 评论 -
使用spring validation完成数据后端校验
前言数据的校验是交互式网站一个不可或缺的功能,前端的js校验可以涵盖大部分的校验职责,如用户名唯一性,生日格式,邮箱格式校验等等常用...转载 2019-08-15 16:44:51 · 255 阅读 · 0 评论 -
Log4j的配置文件以及使用
本文参考的博客地址:https://www.cnblogs.com/xiaobaizhiqian/p/7956690.html以下是常规的一个log4j.properties配置文件内容:#配置根Loggerlog4j.rootLogger = [ level ] , appenderName , appenderName1 , …#配置日志信息输出目的地Appende...原创 2019-07-23 10:39:33 · 262 阅读 · 0 评论 -
FastJson详解
1、引入所需要的依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency>2、List集合转...转载 2019-07-29 15:03:55 · 9665 阅读 · 2 评论