- 博客(136)
- 资源 (9)
- 收藏
- 关注
原创 EasyExcel实现导出并上传文件
被导出的数据,这里的数据可以是实体也可以是集合,注意lists和list的位置!导出文件的列,将每一列都包装成一个List然后返回一个大List。
2023-04-04 09:31:54 1158 1
原创 MongoDB扫盲-黑马
MongoDB从入门到入土1、MongoDB相关的概念1.1MongoDB适用的场景1、数据量大2、写入操作频繁3、价值较低的数据,对事务性要求不高1.2MongoDB简介MongoDB是一个开源、高性能、无模式的文档型数据库,是NoSQL数据库产品中的一种,是最像关系型数据库的非关系型数据库。无模式:指MongoDB没有一个具体的列,他存储用的是类似于JSON的格式叫BSON,一种二进制的JSON文件MongoDB中的记录是一个文档,他是一个由字段和值对(field:value)组成
2022-04-04 16:59:03 1089
原创 记录一次OOM排查过程
1、查看当前堆的使用情况[root@localhost ~]# jmap -heap 27900Attaching to process ID 27900, please wait...Debugger attached successfully.Client compiler detected.JVM version is 20.45-b01using thread-local object allocation.Mark Sweep Compact GCHeap Configuratio
2021-12-20 16:10:54 274
原创 ThreadLocal原理
1、使用场景线程局部变量是局限于线程内部的变量,属于线程自身所有,不在多个线程间共享。代码示例:public class Demo27 { private static final ThreadLocal<String> myThreadLocal = ThreadLocal.withInitial(() -> "This is the initial value"); public static void main(String[] args) {
2021-12-15 16:21:42 634
原创 黑马-Redis
# 1、Redis基础2、Redis高级1.1持久化1、RDB(关注点:数据)概述将当前数据进行保存,快照形式,存储数据结果,存储格式简单,关注点在数据启动方式命令:127.0.0.1:6379> save作用:手动执行一次保存操作,默会在Redis的安装路径的data目录下生成一个dump.rdb二进制文件save指令相关配置dbfilename dump.rdb说明:设置温蒂数据库文件名,默认值为dump.rdb经验:通常设置为dump-端口号.rdbdir
2021-12-10 22:38:45 1159
原创 黑马-NIO
2、Java的io演进之路2.1io模型基本说明io模型:就是用什么样的通道或者说是通信模式和架构进行数据的传输和接收,很大程度上决定了通信的性能,Java共支持3种网络编程的io模型:BIO、NIO、AIO2.2io模型Java BIO同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销Java NIO同步非阻塞,服务器实现模式为一个线程处理多个请求(连接),即客户端发送的连接请求都会注册到多路复
2021-12-04 20:38:39 727
原创 Java使用线程池对list进行分组处理
@Slf4jpublic class Demo24 { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); for (int i = 0; i < 1000; i++) { list.add("第" + i + "个"); } int nThreads = 5;
2021-11-02 16:59:35 599
原创 MySQL使用索引覆盖优化分页查询
在一个数据量比较大的表里面分页查询,按照常规查询可能耗时比较多,下面提供一个优化小技巧:1、原始查询select * from zb_articleceiresultperformance where pubday = '20210908' limit 1,10耗时: 3.048801 sec2、优化之后查询SELECT * FROM zb_articleceiresultperformance main RIGHT JOIN ( SELECT id FROM zb_articlecei
2021-09-08 16:58:56 337
原创 使用top命令定位OOM
1、找到Java进程[root@prod-datacenter-dataservice jvm] ps -ef | grep javaroot 19486 1 0 Aug25 ? 01:07:38 java -Xms128m -Xmx1024m -jar dhms_collectlog-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod --server.port=4600root 20526 1 7 10
2021-09-08 11:38:31 370
原创 修改Git项目gitlab地址
git remote set-url origin http://git.intm.com/big-data/smart-center-frontend.git
2021-09-07 16:16:19 169
原创 MyBatis-Plus执行原生SQL
@Select({"${sql}"}) @ResultType(ArrayList.class) List<Person> executeQuery(@Param("sql") String sql);
2021-07-30 17:15:53 7434
原创 Vue使用Post请求在Body中传递参数
1、前端export function vip_account_add(parameter) { parameter.timeStamp = new Date().getTime(); return axios({ url: 'datahome/member/addMember', method: 'post', data: JSON.stringify(parameter), headers: { 'Content-Type
2021-07-13 09:10:55 14059 1
原创 Mybatis插件编写
1、首先复习MyBatis原理2、插件原理每个创建出来的对象不是直接返回的,而是intercepterChain.pluginAll(parameterHandler)包装过的获取到所有的Intercepter(拦截器)(插件需要实现的接口),调用interceptor.plugin(target),返回target包装后的对象插件机制,我们可以使用插件为目标对象创建一个代理对象:AOP,我们的插件可以为四大对象创建出代理对象,代理对象可以拦截到四大对象的每一个执行3、自定义插件编写Int
2021-07-11 11:57:25 328
原创 Java自定义注解
必看基础知识实际应用1、自定义注解@Inherited@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)public @interface HybaseSubTable { String columnName() default ""; String filterType() default "year";}2、解析工具public class HybaseSubTableAnalysis<T&
2021-07-05 14:36:32 82
原创 Java 使用stream对list进行分片
将一个list分成指定大小的若干个listpublic static void main(String[] args) { int LIMIT = 30; ArrayList<Integer> integers = new ArrayList<>(); for (int i = 0; i < 222 ; i++) { integers.add(i + 1); } Arr.
2021-06-16 10:04:15 1510
原创 MySql 分组统计,根据个数过滤,显示所有子项
1、原始数据SELECT MEDIALEVEL,MEDIANAME,ZBGUID FROM CAS_EXMEDIAREPRINT WHERE ZBGUID = '1391256117741834240'MEDIALEVELMEDIANAMEZBGUID二级二级1391256117741834240核心人民日报客户端1391256117741834240导核心今日头条13912561177418342402、统计语句SELECT MEDIALEVE
2021-05-18 16:16:06 460
原创 Cause: java.lang.IndexOutOfBoundsException: Index: 11, Size: 11
在使用mybatis-plus进行查询的时候会有时候会出现这个问题,在确保其他没问题的前提下,检查实体类使用的lombok注解,加上@NoArgsConstructor注解,猜测是因为查询的数据为字段为null,但是没有对应的实体进行映射...
2021-05-18 09:13:06 1358
原创 Java中json数据的组装和解析
1、json组装// json数据{ "userName": "xxx", "email": "xxxx", "phone": 13588888888, "level": 1, "timestamp": 1616296271000, "parentId": 2, "appInfo": [ { "appId": "app1xxx", "sign": "sign1xxx"
2021-05-10 15:03:52 1171
原创 Java使用多线程(线程池)处理任务
import lombok.extern.slf4j.Slf4j;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * @Author :ps * @Date :2021/4/3 22:07 * @Description : */@Slf4jpublic class ThreadDemo4 { public static void main(String[]
2021-04-11 11:48:55 252
原创 SpringBoot中rabbitMQ确认机制和return机制
1、添加配置rabbitmq: host: 10.100.4.8 port: 5672 username: pss123 password: pss123 virtual-host: host1 #return机制 publisher-returns: true #确认机制 publisher-confirm-type: simple2、编写配置代码import cn.hutool.json.JSONObject;import
2021-03-16 16:05:59 775
原创 Vue页面跳转并传递参数
1、第一种方式this.$router.push({ name: 'userPortraitList', params: { item: this.recordDetail } });2、第二种方式this.$router.push({ path:'/userPortraitList', query: { msg: '我是参数', },});3、接收数据mounted() { cons
2021-01-20 11:49:45 236
原创 Vue临时解决跨域问题
1.确认是否只有在chrome浏览器中,您的网页无法加载到内嵌的有数的图表内容。备注:从Chrome 51开始,浏览器的Cookie新增加了一个Samesite属性,用来防止CSRF攻击和用户追踪。如果iframe的地址和父级的地址不同源,则可能无法传递cookie2.如果只是chrome无法打开,请参考以下步骤:在打开chrome后,输入 chrome://flags/#same-site-by-default-cookies,将【SameSite by default cookies】的defa
2021-01-07 11:48:13 308
钉钉发送群消息相关SDK
2022-03-16
oracle培训教程(含文档,练习)
2018-12-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人