
java
文章平均质量分 61
蔚蓝色的风暴
我很想改变什么,但我得不到救赎
展开
-
xml部分符号转义
原创 2024-12-05 15:17:28 · 132 阅读 · 0 评论 -
InputStream转String的各种方法
由 Reader 构成的每个读取请求都会导致相应的读取请求由基础字符或字节流构成,建议通过 BufferedReader 包装 Reader 的实例类以提高效率。(Reader 构成的对象是字符对象,每次的读取请求都会涉及到字节读取解码字符的过程,而 BufferedReader 类中有设计减少这样的解码次数的方法,进而提高转换效率)BufferedReader 类从字符输入流中读取文本并缓冲字符,以便有效地读取字符,数组和行。是字节流通向字符流的桥梁,它使用指定的charset读取字节并将其解码为字符。原创 2024-10-15 11:13:39 · 1542 阅读 · 0 评论 -
地图项目涉及知识点总结
这次项目,对我的各方面能力都是一次挑战,最难绷的还是各种数据的变换算不明白了,哎,真是菜的离谱不管怎么样,还得勤学苦练,好好努力啊。原创 2024-07-18 20:57:03 · 1120 阅读 · 0 评论 -
restTemplate使用总结
getForEntity没法直接携带header。实际使用时可以生成不同的factory。(4)接收的类带泛型。原创 2024-06-27 21:18:20 · 180 阅读 · 0 评论 -
Java 线程基础
java多线程相关的基础知识原创 2023-08-04 14:39:22 · 193 阅读 · 0 评论 -
java内部类
java内部类的相关知识点原创 2023-08-04 14:28:02 · 132 阅读 · 0 评论 -
JVM常用参数
将新对象预留在新生代,由于 Full GC 的成本远高于 Minor GC,因此尽可能将对象分配在新生代是明智的做法,实际项目中根据 GC日志分析新生代空间大小分配是否合理,适当通过“-Xmn”命令调节新生代大小,最大限度降低新对象直接进入老年代的情况。HeapDumpOnOutOfMemoryError: JVM在遇到OOM时将heap转储到物理文件中。UseGCOverheadLimit :限制在抛出OOM错误之前在GC中花费的VM时间的比例。关于GC调优 很重要的一条经验是。指定最小和最大堆大小。原创 2023-06-10 17:25:41 · 198 阅读 · 0 评论 -
java类加载过程
每个ClassLoader实例都有一个相关的父类加载器,ClassLoader实例会在试图亲自查找类或者资源之前,将搜索类或资源的任务委托给其父类加载器。3、在内存中生成一个代表该类的Class对象,作为方法区这些数据的访问入口。直接引用是可以直接指向目标的指针、相对偏移量或是一个能间接定位到目标的句柄。加载规则:先判断该类是否被加载过,已经加载的类直接返回。初始化阶段是执行初始化方法的过程,是类加载的最后一步。虚拟机将常量池的符号引用替换为直接引用的过程。双亲委派模型的好处:避免类的重复加载。原创 2023-06-10 15:47:39 · 741 阅读 · 0 评论 -
JVM相关知识点
程序计数器:记录当前线程执行的位置 当线程切换后能够知道该线程上次运行到哪了java虚拟机栈:方法调用的数据通过栈进行传递,每次方法调用都会有一个对应的栈帧被压入栈中,每一个方法调用结束后,会有一个栈帧被弹出栈由一个个栈帧组成,每个栈帧包括:局部变量表、操作数栈、动态连接、方法返回地址局部变量表:主要存放了编译器可知的各种数据类型、对象引用操作数栈:主要作为方法调用中的中转站使用,用于存放方法执行过程中产生的中间计算结果。另外,计算过程中产生的临时变量也会放在操作数栈中。原创 2023-05-09 20:45:44 · 493 阅读 · 0 评论 -
java笔记(十二)重新理解java基本特性
待继续完善原创 2023-01-10 20:39:03 · 483 阅读 · 0 评论 -
【效率提升】补充
javaIDEA快捷键补充复制 ctrl+D全局搜索替换 ctrl+shift+R打开剪贴板 ctrl+shift+V块注释 ctrl+shift +/快捷方法定义类生成模板 File>setting>deitor>file and code Templates插件CodeGlanceRainbow Brackets括号颜色不同TranslationMaven Helper分析pom文件GsonFormat可根据json数据快速生成java实体类原创 2022-04-05 10:10:08 · 231 阅读 · 0 评论 -
java笔记(六):日期和时间
获取当前时间戳System.currentTimeMillis()老APIDate在java.util中Date date = new Date();System.out.println(date.getYear() + 1900);System.out.println(date.getMonth() + 1);System.out.println(date.getDate());自定义格式输出import java.text.*;import java.util.*;public c原创 2021-09-23 15:04:21 · 99 阅读 · 0 评论 -
Java笔记(十一):函数式编程
Lambda我们在写一个数组的排序时,一般这样写String[] array = ...Arrays.sort(array, new Comparator<String>() { public int compare(String s1, String s2) { return s1.compareTo(s2); }});Comparator是以匿名类的方式编写的如果使用Lambda,可以这样写import java.util.Arrays;pu原创 2021-09-24 18:30:25 · 133 阅读 · 0 评论 -
Java笔记(十):JDBC
JDBC指Java DataBase Connectivity它是Java程序访问数据库的标准接口JDBC连接Connection代表一个JDBC连接MySQL的URL是jdbc:mysql://<hostname>:<port>/<db>?key1=value1&key2=value2首先我们设置url 用户名 密码String JDBC_URL = "jdbc:mysql://localhost:3306/test";String JDBC_原创 2021-09-24 17:42:14 · 144 阅读 · 0 评论 -
Java笔记(九):AOP
AOP是指Aspect Oriented Programming 面向切面编程AOP本质上就是动态代理 将一些常用功能从每个业务方法中剥离出来写法如下首先引入依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</原创 2021-09-24 12:17:02 · 116 阅读 · 0 评论 -
Java笔记(八):spring IoC
IoC容器容器是一种为某种特定组件的运行提供必要支持的一个软件环境 IoC指的是Inversion of Control组件在IoC容器中被装配出来需要某种“注入”机制比如某个组件需要datasource 它自己并不会去创建datasource 而是等待外部去注入datasource这样不同的组件就可以实现资源的共享 另一个组件同样可以注入datasource依赖注入方法1 set函数public class BookService { private DataSource dataSo原创 2021-09-23 20:44:49 · 152 阅读 · 0 评论 -
java笔记(七):web相关
HTTP请求和响应浏览器请求页面的流程如下1、与服务器建立TCP连接;2、发送HTTP请求;3、收取HTTP响应,渲染页面;例如浏览器发送的HTTP请求GET / HTTP/1.1Host: www.sina.com.cnUser-Agent: Mozilla/5.0 xxxAccept: */*Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8Host:域名User-Agent:客户端标识Accept:浏览器接受的资源类型Accept-La原创 2021-09-23 17:20:28 · 112 阅读 · 0 评论 -
java笔记(五):文件操作
java.io中File对象来实现文件操作import java.io.*public calss Main{ public static void main(String[] args) { File f = new File("C:\\Windows\\notepad.exe"); System.out.println(f); }}File对象可以使用.list()和.listFiles()列出目录下的文件和子目录名boolean mkdir():创建当前File对象表示的目录原创 2021-09-23 11:35:20 · 83 阅读 · 0 评论 -
Java笔记(四):反射 泛型
反射反射Relection 指通过实例获取class信息的方法方法一:通过静态变量Class cls = String.class;方法二:通过getClass()方法String s = "Hello";Class cls = s.getClass();访问字段Field getField(name):根据字段名获取某个public的field(包括父类)Field getDeclaredField(name):根据字段名获取当前类的某个field(不包括父类)Field[] g原创 2021-09-23 10:02:43 · 131 阅读 · 0 评论 -
Java笔记(三):核心类
字符串 编码String是一个引用类型(和python的字符串是基础类型有区别)String的比较必须使用equals方法.contains方法用于搜索字串原创 2021-09-22 16:01:07 · 75 阅读 · 0 评论 -
Lombok笔记
Lombok在写java代码时常常用到lombok 做一个简单记录Lombok 能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString 方法。在源码中没有 getter/setter 方法,但是在编译生成的字节码文件中有 getter/setter 方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁。举个例子@Component@RequiredArgsConstructorpublic class Thanking原创 2021-09-06 16:23:00 · 138 阅读 · 0 评论 -
Mybatis笔记(一)
MybatisMyBatis 是一个优秀的持久层框架,它对 JDBC 的操作数据库的过程进行封装,使开发者只需要关注 sql 本身,而不需要花费精力去处理例如注册驱动、创建 connection、创建 statement、手动设置参数、结果集检索等 JDBC 繁杂的过程代码。结构1、MyBatis 配置文件。SqlMapConfig.xml:此文件作为 MyBatis 的全局配置文件,配置了 MyBatis 的运行环境等信息。mapper.xml:sql映射文件,配置了操作数据库的 sql 语句原创 2021-09-06 16:22:30 · 236 阅读 · 0 评论 -
Java笔记(二):构造方法 继承 多态 抽象类 接口 静态方法 集合
类属性和方法java是面向对象的编程语言声明一个类:class Person { public String name; public int age;}上面创建了一个Person类,并赋予了两个属性public表示该属性可以被外界访问定义好了类后,需要创建实例:Person ming = new Person();上面就生成了一个实例在外部可以对实例的属性进行操作ming.age = 18;ming.name = "xiao ming";但是,外部操作会破坏封装性,我原创 2021-09-01 17:20:08 · 226 阅读 · 0 评论 -
Java笔记(一):变量 数据类型 字符串 数组 流程控制
前端的内容暂时先告一段落,现在开始对java做基本的了解(好耶)这将是我第一门开发语言目前主要按照廖雪峰的java教程进行 当年学python的时候也是看的他的教程呢(还有莫烦)java简介java由詹姆斯高斯林开发 介于编译型语言和解释型语言之间编译型语言:c/c++ 将代码编译为机器码然后执行解释型语言:python/ruby 解释器加载源码后直接运行 但效率低一些Java将代码编译为一种字节码 针对不同平台编写虚拟机 因此可以在不同的平台上通过虚拟机运行从实践上看 JVM的兼容性非常好原创 2021-08-31 17:49:39 · 144 阅读 · 0 评论