Java
文章平均质量分 91
程序员波特
全网同名,资深Java开发。专注分享Java后端、中间件、架构设计、云原生、面试等干货知识。关注我,一起成长
展开
-
JMH微基准测试框架学习笔记
JMH(Java Microbenchmark Harness)是一个用于编写、构建和运行Java微基准测试的框架。它提供了丰富的注解和工具,用于精确控制测试的执行和结果测量,从而帮助我们深入了解代码的性能特性。原创 2024-03-20 21:53:10 · 709 阅读 · 0 评论 -
更高效的反射调用方式被我找到了!
它可以帮助你编写出更可靠、可重复的基准测试。可以看到,使用反射的性能比起直接调用来讲有非常大的差距,尤其是在这种极其简单的对象创建场景中,但是使用反射是很多情况下我们不得不采用的一个做法,那么我们有没有什么办法来尽可能优化一下反射调用的性能呢?表达式来调用,虽然可以做到和直接调用一致的性能,但是该方法的生成开销比较大,需要在频繁调用的场景中进行缓存,才能起到比较好的效果。方法,那么生成的方法是可以被缓存起来重复使用的,如果使用的基数本身比较大,在多次调用的开销权衡中,初始化的开销就可以被忽略不计。原创 2024-03-20 21:24:41 · 1226 阅读 · 0 评论 -
Java中文乱码问题解析与解决方案
在日常工作中,我们经常会遇到中文乱码的问题。乱码问题不仅影响用户体验,还可能导致数据丢失或解析错误。因此,了解和掌握中文乱码问题的原因和解决方案,对于Java开发者来说至关重要。本文将分析常见的Java中文乱码场景,并给出相应的解决方案。原创 2024-03-15 15:56:30 · 1694 阅读 · 1 评论 -
JavaWeb基础
JavaWeb基础知识记录,虽然现在都是基于SpringBoot开发,很少接触到Servlet、JSP等代码编写,但是对其定义、HTTP协议、会话等相关基础知识应该要有一个了解。原创 2023-10-22 20:07:09 · 142 阅读 · 0 评论 -
《Java编程思想》读书笔记(五)
本文是《Java编程思想》读书笔记系列的最后一章,本章的内容很多,需要细读慢慢去理解,文中的示例最好在自己电脑上多运行几次,相关示例完整代码放在码云上了,码云地址:https://gitee.com/reminis_com/thinking-in-java原创 2022-09-06 17:43:58 · 570 阅读 · 1 评论 -
Java开发规范记录
Java常见的开发规范,关于表结构设计和编程过程中需要注意的地方原创 2023-10-22 10:00:16 · 234 阅读 · 0 评论 -
《Java编程思想》读书笔记(四)
三年之前就买了《Java编程思想》这本书,但是到现在为止都还没有好好看过这本书,这次希望能够坚持通读完整本书并整理好自己的读书笔记,上一篇文章是记录的第十七章到第十八章的内容,这一次记录的是第十九章到第二十章的内容,相关示例代码放在码云上了,码云地址:https://gitee.com/reminis_com/thinking-in-java原创 2022-09-04 09:17:02 · 326 阅读 · 0 评论 -
《Java编程思想》读书笔记(三)
疫情被封在家也是闲着,把很久之前买的《Java编程思想》这本书拿出来把之前没有看完的内容坚持看完,巩固下基础原创 2022-09-02 12:09:37 · 478 阅读 · 0 评论 -
JVM快速扫盲篇
JVM虚拟机基础JVM虚拟机结构jvm的整体结构大致如下:类加载器:类加载器用来加载Java类到JVM虚拟机中,源代码程序.java文件在经过编译器编译之后就被转换成字节代码.class文件,类加载器负责读取字节代码,并转换成java.lang.Class类的一个实例。运行时数据区元数据区:JDK1.8开始的说法,之前称为方法区Method-Area,存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。堆区:所有线程共享的一块内存区域,虚拟机启动时被创建用来存放对象实原创 2022-05-16 08:00:00 · 228 阅读 · 0 评论 -
《Java编程思想》读书笔记(二)
三年之前就买了《Java编程思想》这本书,但是到现在为止都还没有好好看过这本书,这次希望能够坚持通读完整本书并整理好自己的读书笔记,上一篇文章是记录的第一章到第十章的内容,这一次记录的是第十一章到第十六章的内容,本文还是会把自己感兴趣的知识点记录一下,相关实例代码:https://gitee.com/reminis_com/thinking-in-java第十一章:持有对象如果一个程序只包含固定数量的且其生命周期都是已知的对象,那么这是一个非常简单的程序。 通常,程序总是根据运行时才知道的.原创 2022-05-11 08:30:00 · 817 阅读 · 0 评论 -
《Java编程思想》读书笔记一
在美剧《硅谷》中有这样一个经典镜头,主人公 Richard 与同为开发工程师的女友闹分手,理由是两人对缩进方式有着截然不同的编程习惯,互相鄙视对方的代码风格。Richard 认为" one tab saves four spaces ”,缩进使用 Tab 键操作更快,更节省存 储空间,而女友坚持使用空格缩进,连续四次敲击空格的声音,把 Richard 折磨到几近崩溃,认为这是种精神折磨。 Richard 觉得难以相处,吵完架下楼梯时,不小心摔倒了 还淡定地说,"I just tried to go do原创 2022-05-10 19:23:10 · 796 阅读 · 0 评论 -
关于Java中泛型、反射和注解的扫盲篇
泛型泛型概念 泛型是在JDK1.5之后引入的,旨在让我们写出更加通用化,更加灵活的代码。通用化的手段在于让数据类型变得参数化,定义泛型时,对应的数据类型是不确定的,泛型方法被调用时,会指定具体类型,其核心目标是为了解决容器类型在编译时安全检查的问题。 泛型:一般用在类、方法、接口中,叫做泛型类、泛型接口、泛型方法泛型的使用 package demo.generic; import lombok.Data; /** * 泛型类的定义 * @param <T>原创 2020-11-09 14:05:59 · 265 阅读 · 2 评论 -
SpringBoot中关于Excel的导入和导出
前言 由于在最近的项目中使用Excel导入和导出较为频繁,以此篇博客作为记录,方便日后查阅。本文前台页面将使用layui,来演示对Excel文件导入和导出的效果。本文代码已上传至我的gitHub,欢迎访问,地址:https://github.com/rename123/excel-demo准备工作1. 添加操作Excel的有关依赖,如下: <dependency> <groupId>org.apache.poi</groupId&原创 2020-08-29 15:12:27 · 600 阅读 · 0 评论 -
JavaWeb项目的部署以及远程调试
Linux环境下软件的安装Linux环境下的程序的安装、更新、卸载和查看。rpm 命令:相当于windows程序的添加/卸载程序,进程程序的安装,查看,卸载。本地程序安装:rpm -ivh 程序名本地程序查看:rpm -qa本地程序卸载:rpm -e --nodeps 程序名yum 命令:相当于可以联网的rpm命令,相当于联网下程序的安装和更新,自动执行rpm命令JDK的安装1. 查看当前Linux系统是否已经安装java,输入 rpm -qa | grep -i java2.原创 2020-08-02 09:40:21 · 492 阅读 · 0 评论 -
基于MySql主从分离的代码层实现
主从分离?多数据源?原创 2020-07-28 14:30:46 · 87 阅读 · 0 评论 -
Java多线程编程基础知识汇总
Java多线程编程得必备基础知识,有必要学习一波原创 2020-07-12 07:39:31 · 244 阅读 · 0 评论 -
Java中的加密与安全,你了解多少
科普文,你确定不来看看?原创 2020-07-11 09:29:24 · 515 阅读 · 0 评论 -
Java日期和时间
概念时区 不同时区在同一时刻,它们的本地时间是不同的,全球一共有24个时区,我们把伦敦所在的时区称为标准时区,其他时区按照东西偏移的小时来区分,北京所在的时区是东八区(GMT+08:00)。时区的表现方式如下:GMT+08:00UTC+08:00CST(China Standard Time / Central Standard Time USA)Asia/Shanghai地区Local 表示一个国家或地区的日期、时间、数字、货币等格式zh_CN: 表示的是中国的Local,日期原创 2020-07-09 14:05:38 · 246 阅读 · 0 评论 -
JDK1.8新特性之Lambda表达式
Lambda基础语法Java8中引入了一个新的操作符“ -> ”,该操作符被称为箭头操作符或Lambda操作符,箭头操作符将Lambda表达式拆分成两部分:左侧:Lambda表达式的参数列表右侧:Lambda表达式中所需要执行的功能,即Lambda体Lambda表达式常见的五种语法如下:语法格式一:无参数,无返回值 (如Runable接口中的run方法) @Test public void test01(){ Runnable run01 = new Runnable(原创 2020-07-09 14:04:53 · 130 阅读 · 0 评论 -
Stream API学习笔记
Java8 中Stream API介绍 Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果。 流(Stream)的概念:流是数据渠道,用于操作数据(集合、数组等)所原创 2020-07-09 13:57:40 · 94 阅读 · 0 评论