JAVA笔记
文章平均质量分 79
爱打篮球的Java学者
普普通通的一个java进阶路上的学者
展开
-
Java 使用poi自定义下载Excel模板
poi自定义Excel模板设置下拉框以及悬浮提示信息首先导入maven依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency>原创 2021-12-08 10:20:45 · 1640 阅读 · 2 评论 -
用EasyExcel实现表格的导入,导出
EasyExcel本文使用的是阿里巴巴开源的对Excel操作读写的EasyExcel,它比传统上poi等一些技术省内存,EasyExcel在最大可能性上面节约内存。poi,jxl等技术存在最严重的问题就是耗内存。一,导入maven依赖 <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId&g原创 2021-12-08 10:13:54 · 822 阅读 · 0 评论 -
DoF 23 (设计模式)->单例模式,工厂模式
单例模式特点:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。单例模式的构造器,实例都是私有的。单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。总之单例模式就是为了避免不一致状态。一,懒加载模式//懒汉式单例类,在第一次调用的时候实例化自己public class Singleton{ private Singleton(){} //先创将,但不会实例化,而是等到调用的时候实原创 2021-11-20 11:03:47 · 293 阅读 · 0 评论 -
DOF23 设计模式(23种设计模式)
DOF23 设计模式谈一谈设计模式本身一,什么是设计模式?设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性,可维护性,可读性,稳健性以及安全性的解决方案。二,设计模式的意义设计模式的本质是面向对象设计原则的实际运用,是对类的封装性,继承性和多态性以及类的关联关系和组合关系的充分理解。正确使用设计模式具有以下优点:可以提高程序员的思维能力,编程能力和设计能力是程序更加标准化,代码编制更加工程化,使软原创 2021-11-10 14:00:43 · 329 阅读 · 0 评论 -
JAVA基础笔记7(Nginx)
Nginx项目刚上线的时候,并发量小,使用的用户少,所以在低并发的情况下,一个jar包启动就够了,然后内部Tomcat返回内容给用户。但是慢慢的,使用平台的用户越来越多,并发量越来越大,这时候一台服务器满足不了我们的需求了于是我们横向扩展,又增加了服务器。这时候几个项目启动在不同的服务器上,用户需要访问,就需要增加一个代理服务器了,通过代理服务器来帮我们转发和处理请求。我们希望这个代理服务器可以帮助我们接受用户的请求,然后将用户的请求按照规则帮我们转发到不同的服务器节点之上,这个过程是无感知的原创 2021-09-18 00:41:44 · 209 阅读 · 0 评论 -
JAVA基础笔记6(多线程)
多线程普通线程和多线程的区别程序.进程.线程在操作系统中运行的程序就是,比如你的QQ,播放器,游戏,IDE等等一个进程中可以有多个线程,比如视频中同时听声音,看图像,看弹幕,等等Process与Thread说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位。通常在一个进程中可以包含多个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是由CPU调度和执行的单原创 2021-09-17 02:40:56 · 215 阅读 · 0 评论 -
JAVA基础笔记5(注解与反射)
注解Annotation是从JDK5.0开始引入的新技术Annotation的作用:不是程序本身,可以对程序做出解释。(这一点和注释(comment)没什么区别)。可以被其他程序(比如:编译器)读取Annotation的格式:注解是以**@注释名**在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(value = “unchecked”)。Annotation在哪里使用:可以附加在package,class,method,field等上面,相当于给他们添加了额外的辅助原创 2021-09-14 04:07:36 · 88 阅读 · 0 评论 -
JAVA基础笔记4(JVM标记清除算法和JMM内存模型)
JAVA基础复习4JVM GC垃圾回收标记清除算法标记压缩算法标记清除压缩算法JVM 总结内存效率算法顺序:复制算法 > 标记清除算法 > 标记压缩算法(时间复杂度)内存整齐度算法顺序:复制算法 = 标记压缩算法 > 标记清除算法内存利用率算法顺序:标记压缩算法 = 标记清除算法 > 复制算法没有最好的算法,只有最合适的算法:GC:分代收集算法年轻代:存活率低,复制算法老年代:区域大:存活率高,标记清除算法(内存碎片不是太多的情况下可以多清除几次)+原创 2021-09-12 17:51:15 · 115 阅读 · 0 评论 -
JAVA基础笔记3(JVM堆与GC(垃圾回收))
JAVA基础笔记3堆Heap,一个JVM只有一个堆内存,堆内存的大小是可以调节的。类加载器读取了类文件后,会把什么东西放到堆中:类new过的对象(方法,属性),常量池,保存我们所有引用类型的真实对象。堆内存中还要细分为三个区域:新生区(Young/new):类诞生和成长的地方,甚至死亡。伊甸园区:所有的对象都是在伊甸园区new出来的,伊甸园区满了之后会启动GC(轻量级垃圾回收),然后把存活下来的对象放入到幸存区中。幸存区(to,form):谁是空的谁是幸存区to,比如从伊甸园区下来的对象放入到t原创 2021-09-11 02:48:23 · 147 阅读 · 0 评论 -
JAVA基础笔记2(JVM沙箱安全机制,Native关键字,PC寄存器,方法区,栈)
JAVA基础笔记JAVA沙箱安全机制java安全模型的核心就是java沙箱(sandbox),什么是沙箱?沙箱是一个限制程序运行环境。沙箱机制就是将java代码限定在虚拟机(JVM)特定的运行范围中,并且严格限制代码对本地系统资源访问,通过这样的措施来保证对代码的有效隔离,防止对本地系统造成破坏。沙箱主要限制系统资源访问系统资源访问包括:CPU,内存,文件系统,网络。不同级别的沙箱对这些资源访问的限制也可以不一样。所有的java程序运行都可以指定沙箱,可以定制安全策略。在java中将执行程序分成本地原创 2021-09-10 02:31:05 · 142 阅读 · 0 评论 -
JAVA基础笔记1(JAVA运行原理及流程,JAVA内存与JVM,以及==,equals,hashcode三者)
JAVA基础笔记JAVA运行原理平时我们编程的话需要给电脑安装jdk运行环境,如果只是运行java程序的话只需要装jre就可以了,jdk中包含jre,jre中包含jvm(虚拟机)。在java中引入了虚拟机概念,即在机器和编译程序之间加入了一层抽象的虚拟机器。这台虚拟机器在任何平台上都是提供编译程序的一个共同接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换成特定系统的机器码执行。在java中,这种供虚拟机理解的代码叫做字节码(ByteCode Class文件内容)原创 2021-09-08 22:58:38 · 96 阅读 · 0 评论