- 博客(14)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 使用多线程处理大数据量传输的尝试
遇到的问题 在最近工作中遇到了一个千万级数据量从数据库导出到excel中去的业务,由于考虑到内存溢出的问题,所以使用的方案是10万条数据放在一个excel中,讲所有excel的文件存储路径存在一个list中,最后将所有的excel文件放入一个压缩包中,返回给页面。 在最后进行性能测试时无法满足要求,于是想到了使用多线程的方式来进行性能优化,以下是多线程方面的一些尝试。多线程的一些尝试1 使用线程池+callable首先想到的是使用callable的方式,因为业务在进行操作结束后,需要将
2021-06-08 23:39:52
808
3
原创 MybatisPlus分页的一个异常解决
工作中使用MP分页时,抛出异常,我的一些解决方案。1、方法/** 生成分页对象: Page<String>:MP的分页对象,泛型类型我直接使用String可以操作,源码中显示为查询结果类型 参数:当前页码,页大小*/Page<String> pageInfo = new Page<>(current,size);/** 进行查询: Page<Student>:查询结果,会自动进行封装结果集和分页相关参数 Page<Strin
2022-02-28 00:22:32
1385
2
原创 Thymeleaf模板引擎
1 thymeleaf简介1.1 什么是thymeleaf Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎,能够处理HTML,XML,JavaScript,CSS甚至纯文本。 Thymeleaf的主要目标是提供一种优雅且高度可维护的模板创建方法。为此,它以自然模板的概念为基础,以不影响模板用作设计原型的方式将其逻辑注入模板文件。这样可以改善设计沟通,并缩小设计团队与开发团队之间的差距。1.2 thymeleaf可以处理那些模板 开箱即用的Thymelea
2021-05-04 16:18:07
523
原创 新员工入职,Java系统环境安装
1 JDK安装1.1 软件下载地址网盘下载:链接:https://pan.baidu.com/s/1rMgazgYbo6NZzOvNzNNOmA提取码:cjrj1.2 环境变量JAVA_HOME = C:\Program Files\Java\jdk-12.0.2path = %JAVA_HOME%\bin2 IDEA软件安装2.1 软件下载地址链接:https://pan.baidu.com/s/1dBFukSxg6813xWzVavYdEA提取码:nsv93 Mave
2021-04-25 16:51:13
513
原创 UDP和TCP简介
UDP和TCP1 UDP协议 用户数据报协议UDP具有复用、分用以及差错检测的功能。特点:UDP是无连接的,即发送数据之前不需要建立连接,因此也减少了开销和发送数据的延迟。UDP使用尽最大努力交付,即不保证可靠的交付,因此主机不需要维持复杂的连接状态。UDP是面向报文的,即对需要进行网络传输的数据直接传输,不会进行其他操作,比如当传输数据过大时进行分片多次传输。UDP没有拥塞控制,即不会因为网络出现拥堵而降低传输效率。UDP支持一对一、一对多、多对一和多对多的交互通信。UDP的开销
2021-01-14 20:06:21
291
原创 JavaWeb 的三大组件:Servlet 程序、Filter 过滤器、Listener 监听器
1 Servlet技术1.1 Servlet简介Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java语言编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。特定如下:Servlet是JavaEE规范之一。Servlet是JavaWeb三大组件之一。三大组件分别是:
2021-01-13 20:40:31
721
2
原创 在IDEA中使用Tomcat
在IDEA中使用Tomcat1.1 IDEA中绑定Tomcat1.2 IDEA中创建Java web项目并部署Tomcat!在这里插入图片描述1.3 将IDEA中的javaweb项目部署到Tomcat目录
2021-01-12 22:35:41
243
原创 Tomcat软件下载及安装
1 Tomcat软件下载及安装1.1 Tomcat基本概念 Tomcat服务器是一个免费的开放源代码的Web应用服务器。Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet 和JSP规范总是能在Tomcat中得到体现。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认
2021-01-12 22:30:37
978
1
原创 jdk1.8新特性
jdk1.8新特性【写在前面】之前为了系统了解一下JDK8的新特性,再B站看了一些视频,学习之后根据视频发布者的一些课件和笔记自己又整理了一下。1.1 简介JDK8的主要更新内容:Lambda表达式函数式接口方法引用与构造器引用Stream流 API接口中的默认方法与静态方法新时间日期API其他(Optional 类、重复注解与类型注解等)JDK8的几个特点:速度更快代码更少(Lambda表达式)强大的Stream流便于并行(了解)最大化减少空指针异常 Optiona
2021-01-12 19:40:25
154
原创 classloader
classloader作用1 Java语言系统自带有三个类加载器类加载器:负责将磁盘上的某个class文件读取到内存并生成Class的对象。。Bootstrap ClassLoader 最顶层的加载类,主要加载核心类库,%JRE_HOME%\lib下的rt.jar、resources.jar、charsets.jar和class等。(补充:另外需要注意的是可以通过启动jvm时指定-Xbootclasspath和路径来改变Bootstrap ClassLoader的加载目录。比如java -Xb
2021-01-12 19:34:56
88
原创 HashMap底层实现原理
1 HashMap底层实现原理1.1 底层使用的数据结构JDK8之前:数组、链表JDK8之后:数组、链表、红黑树1.2 重要字段transient int size; //当前存储的键值对总数int threshold; //阈值,默认为16final float loadFactor; //负载因子transient int modCount; //HashMap被改变的次数,比如使用迭代器进行迭代时,如果其他线程对当HashMap //进行了修改,则会改变该字
2021-01-12 19:32:24
11136
2
原创 String 、StringBuilder和StringBuffer
1 String 、StringBuilder和StringBufferStringStringBuilderStringBuffer底层final byte[] value;byte[] value;byte[] value;线程安全安全不安全安全超类Object(顶层类)AbstractStringBuilder(抽象类)AbstractStringBuilder(抽象类)可变性不可变可变可变拼接效率低高较高(相比于Str
2021-01-12 19:30:34
76
原创 Java线程池相关概念
线程池1 概念1.1 引入线程池 在面向对象编程中,创建和销毁对象是很费时间的,对于线程来说也是如此,尤其是当线程中执行的是简单任务的话,则大部分的时间都花费在线程的创建和销毁上。所以就需要使用一种技术来解决这中资源浪费的情况,即池化技术–线程池,使用线程池时,会对线程进行复用,一个线程执行完当前任务后并不马上销毁,而是从任务队列中取出一个任务继续运行。这种做法提高了线程的利用率,也减少了系统开销。1.2 线程池的作用 线程池作用就是限制系统中执行线程的数量。根据系统的环境情况,可以
2021-01-12 19:28:16
176
原创 Tomcat 服务器安装的一些问题(设置环境变量、闪退、报错“The CATALINA_HOME environment variable is not defined correctly”
tomcat服务器安装中遇到了一些问题,有下面几种:startup.bat文件打开时候闪退在startup.bat 文件结尾end前面加pause后报错:The CATALINA_HOME environment variable is not defined correctly,即环境变量设置出错。处理办法:设置下面几个环境变量:a、JRE_HOME :C:\Program F...
2020-04-10 20:02:27
360
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人