JAVA
文章平均质量分 93
良猿啊
修炼中……
展开
-
Java使用EasyExcel操作Excel表格
1 EasyExcel简介EasyExcel是阿里巴巴开源的一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。github地址:https://github.com/alibaba/easyexcel官方文档:https://www.yuque.com/easyexcel/doc/easyexcel2 EasyExcel的使用2.1 写入Excel将一个实体类的数据写入到Excel表格中。POM导入依赖:<dependency&原创 2021-11-06 19:17:56 · 5420 阅读 · 0 评论 -
Java垃圾收集器详解
1 概述之前的文章介绍了JVM的基础入门以及Java垃圾回收算法的详解,本章的内容主要介绍在Java中常用到的垃圾收集器。JVM入门Java垃圾回收算法详解如果说垃圾回收算法是虚拟机中垃圾回收的理论,那么垃圾收集器就是针对于这些理论的具体实现,并且不同厂商和不同版本的虚拟机所提供的垃圾收集器可能会有区别,所以本文主要基于HotSpot虚拟机进行讲解。1.1 前置知识1.1.1 Stop The World进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束为止,这个过程称为 Stop T原创 2021-10-21 20:04:51 · 1062 阅读 · 0 评论 -
Java垃圾回收算法详解
1 概述在前一篇文章中讲到了Java虚拟机的基础知识和运行时数据区的划分,在运行时数据区的划分中,可分为线程共享区域和线程私有区域,而Java的垃圾回收就发生在线程共享区域中,更直观的说法就是Java的垃圾回收大部分都发生在Java的堆(Heap)区域内。1.1 哪些对象需要回收在了解了Java垃圾回收主要发生在哪些区域之后,然后我们就需要知道在Java中哪些对象是需要被当做垃圾回收的,这是一个很简单的问题,既然是需要回收的,那肯定就是在程序中已经使用过且后续不会再用到的对象,那怎么判断一个对象是否还原创 2021-10-16 17:18:18 · 1914 阅读 · 0 评论 -
JVM入门
1 基本概念1.1 JVM概念JVM(Java Virtual Machine)Java虚拟机,即一个用于执行Java代码的虚拟机器,JVM可直接运行在不同的操作系统上。Java代码通过编译器编译生成.class字节码文件,字节码文件又经过JVM中的解释器编译成可直接运行的机器码,这也就是Java能够实现跨平台的原因。1.2 JVM所在位置JVM是直接运行在操作系统之上, 并不会直接与系统硬件进行交互。1.3 运行过程Java源文件通过编译器编译成字节码文件,字节码文件通过JVM编译成对应平台原创 2021-10-14 19:48:40 · 299 阅读 · 0 评论 -
设计模式之单例模式(通俗易懂,超详细)
1 什么是单例模式单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)——《百度百科》简单来说单例模式就是指在内存中只会创建且仅创建一次对象的设计模式,当程序中其他地方需要使用到该对象的相同功能时,都会调用创建好的这一个,不会再额外创建实例,这样做的好处就是避免过多的创建相同作用的对象使得内存浪费。2 单例模式分类在单例模式中主要分为两类,分别是懒汉式和饿汉式懒汉式:在程原创 2020-07-15 11:55:20 · 2384 阅读 · 1 评论 -
设计模式之工厂模式
一、概念工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。在工厂模式中分为简单工厂模式和抽象工厂模式,抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模原创 2020-07-10 16:26:03 · 185 阅读 · 0 评论 -
Java适配器模式
一、什么是适配器模式在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。——《百度百科》二、适配器模式分类类适配器模式这种适配器模式下,适配器继承自已实现的类(一般多重继承,为继承实现)。对象适配器模式在这种适配器模式中,适配器容纳一个...原创 2020-04-04 01:21:08 · 304 阅读 · 0 评论 -
Java多线程初体验
一、什么是多线程?线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升...原创 2020-03-16 22:26:14 · 138 阅读 · 0 评论 -
Java使用BufferedReader读取文件并统计其中数字的个数
1.需要读取的文件2.代码实现@Testpublic void test() { FileReader fileReader = null; BufferedReader bufferedReader = null; int count = 0; try { //创建文件输入流 fileReader = new FileReader...原创 2020-03-05 09:09:45 · 1907 阅读 · 0 评论 -
Java统计文档中aeiou的个数
方法一:使用循环加switch判断加变量public static void main(String[] args){ FileInputStream in = new FileInputStream("hello.txt"); byte[] buffer = new byte[100]; int len; int numA = 0; int numE = 0...原创 2020-02-27 12:29:55 · 407 阅读 · 0 评论 -
JDK、JRE、JVM的关系
首先给出结论:JDK包含JRE,JRE包含JVM、1.JDK(Java SE Development Kit)JDK是Java的标准开发包,提供了编译Java程序和运行Java程序时所需的工具和资源,其中包括有Java编译器、Java运行时环境,以及常用的Java类库等。在网上下载JDK开发包之后,JDK开发包目录结构如下所示:bin:JDK核心部分,包含编译器等。jr...原创 2019-11-22 19:06:51 · 178 阅读 · 0 评论 -
Java使用递归计算文件夹大小
package com.lee.IO;import java.io.File;public class DirSize { private static long length; public static void main(String[] args) { File file = new File("D:\\code\\eclipse\\Java_Test"); //选...原创 2019-11-20 19:51:21 · 603 阅读 · 0 评论 -
JSP+Servlet实现简单分页
本文适合于初学jsp和servlet的,是一个简单分页的教程,不考虑到代码的优化和SQL优化。项目使用数据库版本MySQL5.7,数据表为student表,表数据及结构如下:分页原理:利用MySQL数据库的“select * from student limit ?,?”语句实现分页,代码中第一个问号表示查询的数据开始位,第二个问号表示查询的数据条数,在MySQL中数据的索引是从0开始...原创 2019-09-18 15:16:35 · 2214 阅读 · 1 评论 -
java抽象类和接口
如果学习了Java的抽象类和接口,肯定都会有一个疑问,就是为什么Java中有了抽象类还要引入一个接口?//Comparable接口public interface Comparable<T>{ int compareTo(T other);}例如以上接口,为什么不将Comparable接口直接设计成如下所示的抽象类?//Comparable抽象类abst...原创 2019-08-03 14:40:31 · 131 阅读 · 0 评论 -
Java不规则数组
就我们常见的Java数组与其他程序设计语言中提供的数组没有多大区别,但实际上存在着一些细微的差异,而这正是Java的优势所在,Java实际上没有多维数组,只有一维数组。多维数组被称为“数组的数组”。二位数组在内部的存储结构图如下所示:正是因为Java数组的特征,所以在Java数组中可以创建一个“不规则”数组,即数组的每一行有不同的长度,例如第一行有一列,第二行有两列,依次类推。数组如下...原创 2019-06-18 14:55:21 · 2337 阅读 · 0 评论 -
Java中String类常用方法
方法返回值类型 方法名称 方法简介 char charAt(intindex) 返回指定索引处的char值。 int codePointAt(intindex) 返回指定索引处的字符...原创 2019-06-05 21:12:07 · 197 阅读 · 0 评论 -
java面试基础知识
文章转载自:https://blog.csdn.net/mengruozheng/article/details/806509141.Error和exception的区别:Error表示系统级的错误和程序不必处理的异常。Exception表示需要捕捉或者需要程序进行处理的异常。2.在java中一个类声明了final是什么意思?表明这个类不能被继承是顶级类。3.谈谈final,finally,fin...转载 2018-06-12 19:03:18 · 144 阅读 · 0 评论 -
java自增经典代码
package lee;public class Zi { public static void main(String[] args) { int count = 0; for(int i = 0; i < 10; i++) { count = count++; } System.out.print(count); }}最后输出的count的值应该是0而不是...原创 2018-06-13 20:30:13 · 915 阅读 · 0 评论 -
JDBC连接MySQL数据库
当我们在写一个项目的时候,不可能项目中所有的数据都是静态的,如果要实现动态的数据更新,传递的话就会用到数据库,在java中连接数据库用到的是jdbc,那么jdbc究竟如何连接数据库呢?首先是准备工作,要保证电脑正确安装java开发环境和MySQL数据库,还要有java编辑器,例如eclipse myeclipse下载jdbc的jre包 https://www.mysql.com/prod...原创 2018-06-07 18:01:51 · 182 阅读 · 0 评论 -
servlet配置web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/x原创 2018-09-17 22:30:38 · 199 阅读 · 0 评论 -
java设计模式之工厂模式
工厂模式是java中最常用的设计模式,工厂模式属于创建型模式,它提供了一种创建对象的方式。定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。/*创建一个接口*/public interface Shape { void draw();}/*创建实现接口的实体类Rectangle,Square,Circle*/public cl...原创 2018-09-19 14:43:59 · 79 阅读 · 0 评论 -
Spring通过注解配置bean的xml文档
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springfra原创 2018-10-15 19:49:37 · 97 阅读 · 0 评论 -
SpringMVC基础框架搭建
项目结构图第一步:导入jre包第二步:配置web.xml文件<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi...原创 2018-11-02 15:59:17 · 116 阅读 · 0 评论 -
java中使用Scanner类输入数据
在java中输入数据的方式有很多,但是最常用的是用Scanner类来进行数据的输入。Scanner 类在java.util包中。import java.util.Scanner;public class Main { public static void main(String args[]){ Scanner sc = new Scanner(System....原创 2018-12-27 20:10:54 · 1883 阅读 · 0 评论 -
Spring MVC学习笔记1——RequestMapping
1.RequestMapping可以作用到类和方法上,作用到类上相当于web根目录,作用到方法上相当于对于URL的细分。@RequestMapping("/spring")@Controllerpublic class Hello{ @RequestMapping("hello") public String test(){ System.out.p...原创 2019-03-18 15:36:44 · 168 阅读 · 0 评论 -
JAVA——float和double类型误差
在日常写代码的时候发现,当使用了float和double类型的数据进行计算的时候,就很有可能发生数据的误差。案例代码public class Main{ public static void main(String args[]) { System.out.println(2.3+4); System.out.println(2.3-2); ...原创 2019-04-21 15:25:53 · 500 阅读 · 0 评论 -
JDBC实现按条件查询
1.数据库结构2.Java工程结构3.代码DBUtil.javapackage com.mysql.jdbc;import java.sql.DriverManager;import java.sql.SQLException;public class DBUtil { public Connection getConn(){ String driver...原创 2019-04-26 19:25:26 · 5302 阅读 · 0 评论 -
jdk配置
1、下载jdk,官网(http://www.oracle.com/technetwork/java/javase/downloads/index.html)。2、下载完成后安装jdk,安装时记清楚自己安装的路径。3、配置jdk: 3.1 右键点击我的电脑—>属性—>高级系统设置—>环境变量。 3.2 在打开的环境变量窗口中选择系统变量新建JAVA_HO...原创 2018-06-11 16:18:58 · 399 阅读 · 0 评论