Java
文章平均质量分 76
Blue Wave
欢迎关注我的github博客,定期更新优质内容:https://liaomessi.github.io/
展开
-
Java的static关键字在实践中深刻认知
Java的static关键字的定义在Java中static是个修饰符,用于修饰类(而非对象)的成员方法,成员变量,被static关键字修饰的方法或者变量不需要依赖于对象来进行访问。static 修饰的属于类,对于同一类共享内存,而成员变量,普通方法属于对象,不共享内存。示例演示以下以最近我在实际生产中写的static关键字的乱用带来的bug演示:需求如下:我们做了一个多平台统一的管理系统,现在有一个功能我们需要根据给定时间生成计划,但是目前我们只有其中一个平台支持该功能,但是我们要让程序有足够原创 2022-04-09 15:06:11 · 444 阅读 · 0 评论 -
Java8多线程编程指北
Java8中如何便捷高效的使用多线程编程前言关于面试中经常问到的线程创建的几种方式:继承 Thread 创建线程实现 Runnable 创建线程实现 Callable || Future 创建线程通过线程池来创建线程总的来说分两种,有返回值的和没有返回值的.Java8 中如何使用多线程编程一般来说前言中使用的方式在 java8中基本都没用了, 从各个 类和 interface 的出现时间就可以判断, java多线程的发展趋势.Thread 和 Runnable是从 JDK1 就有了,原创 2021-07-19 21:50:05 · 1184 阅读 · 2 评论 -
MySQL中关于emoji表情的存储(微信登录出现登录失败【由于微信昵称字符问题】)
MySQL中关于emoji表情的存储(微信登录出现登录失败【由于微信昵称字符问题】)问题描述解决方法闲谈问题描述今天网站遇到用户说登录失败,查看日志发现是微信登录自动生成用户时,用户创建失败。其中部分的日志如下:{ Cause: java.sql.SQLException: Incorrect string value: '\\xF0\\x9F\\xA6\\x84 ...' for column 'nick_name' at row 1; uncategorized SQLException;原创 2020-12-02 22:22:14 · 300 阅读 · 0 评论 -
SpringBoot下使用模板引擎发送邮件(JavaMailSenderImpl)踩坑
使用JavaMailSenderfangcaikengImpl这个类时配置文件中的配置需要手动导入进去才能生效,并且如果连接25端口(发送邮件不配置端口默认都是25端口)以外的端口就必须有mail.smtp.ssl.enable这个参数设置。原创 2020-04-29 22:31:46 · 1960 阅读 · 0 评论 -
基于Java8流式语法的Spark程序之入门级WordCount
写在前面:在使用java学习spark之前必须要先去了解java8流式语法,这十分有利于学习spark的计算方式。 关于流式语法它就像一个管道,将初始的数据看成需要加工的原材料,通过每次管道的流水线作业进行加工转换,最后包装成产品。这里涉及到spark中两个算子,每次管道的流水线作业相当于spark中的转换算子,最后包装成产品相当于spark中的行动算子。 关于spark中出现的Tuple...原创 2020-04-07 15:10:42 · 286 阅读 · 0 评论 -
【JAVA发送邮件】运行在阿里云服务器你必须要知道几点
环境:阿里云服务器CentOS7,JDK8,SpringBoot2.0+,网易163邮箱账号和授权码application.yaml邮件配置spring: mail: default-encoding: utf-8 #邮箱服务器 host: smtp.163.com #host: stmp.qq.com #邮箱授权码 passwor...原创 2020-02-25 13:03:02 · 1119 阅读 · 0 评论 -
记一次使用netty解决服务端获取消息拆包问题(基于springboot项目模块)
要说的话全在代码里了,直接上代码。以下内容仅供学习使用,转载请标明出处和作者,并向本人说明。以下是pom依赖配置 <!--netty--> <dependency> <groupId>io.netty</groupId> <artifactId>n...原创 2020-01-16 09:56:27 · 1051 阅读 · 0 评论 -
mybatis-plus代码生成集成达梦数据库的萝卜坑
坑位1:Mybatis-plus从3.2.0才开始支持达梦数据库的代码生成!!!!!代码生成配置上基本没有啥特别的点,我不写了,直接参考这位的吧https://blog.csdn.net/xiaoningzvj/article/details/103028988坑位2:达梦数据库不支持Hikari连接池的超时断开连接功能,druid可以支持。达梦数据库用的太难受了,...原创 2019-12-10 16:14:34 · 2906 阅读 · 4 评论 -
Java的JVM内存模型小记
前两天参加了网络安全创新大会,加上昨晚在b站看张博大佬直播修fastjson的bug,趁着这两天项目结束闲下来了,重新探索了一下jvm相关的一些知识,感觉挺有意思的。上午使用jps,jstat,jmap等命令玩了一阵子,发现虽然可以达到效果但是命令行的数据化可读性很差,今天下午终于get到了一个不错的工具jconsole.exe,可以提供可视化的JVM先关的数据监控和管理。其实java本身是提...原创 2019-11-29 14:33:20 · 222 阅读 · 0 评论 -
关于lombok在maven编译时报栈溢出的问题
最近在项目中使用maven编译一个静态模块时,出现关于lombok的栈溢出的问题。对于导致该问题的原因主要是使用lombok注解的实体类对象字段(几百个字段)过多,在反射字段编译时压栈过多导致的栈溢出。以下截图中显示了使用lombok注解的五个大对象栈溢出了。解决办法:A1:暴力解决:扩大maven运行时的栈内存大小,这里我基于idea修改maven的栈内存,File->...原创 2019-11-24 12:19:54 · 1441 阅读 · 0 评论 -
Java8的List流式语法按指定规则排序,多字段排序
举个栗子:以下是一个同学LoL职业选手表现涨幅信息对象,其中deviation为涨幅可正可负,需求是要求表现波动最大的十名选手的信息,并按波动和年龄排序,(即波动最大的且年龄最大的选手我们就发警告函,让其退役,哈哈哈)@Data@NoArgsConstructor@AllArgsConstructorpublic class UserInfo{ private String n...原创 2019-11-13 15:25:27 · 6539 阅读 · 4 评论 -
Java的getDeclaredField和getField的使用和区别,以及如何获取父类的私有字段
终于于于于于休息啦,上来先说结论。结论:getDeclaredFields方法仅对类本身的字段有效果,对于继承的父类的字段无效 getFields方法只能获取类及其父类的公共字段 获取父类的私有字段需要先使用getSuperClass获取父类Class,然后通过父类Class的getDeclaredFields方法获取父类的所有字段下面我们举个简单的栗子:这是我们定义的一...原创 2019-10-30 21:00:02 · 4099 阅读 · 1 评论 -
关于feign接口调用时的date类型的传参问题
先说结论:在feign接口调用时使用表单形式(@RequestParam)传date类型会发生时间精度错乱,在8时区会多14个小时。 使用json格式(@RequestBody)传date类型不会发生这种情况。 表单形式我的解决办法是:在对外暴露的feign接口中使用字符串类型(String date)来接收日期,在真正feign调用的controller服务中使用@DateTimeForma...原创 2019-10-30 20:31:56 · 5790 阅读 · 0 评论 -
如何阅读JDK和Spring中关于注解代码的浅析
1.JDK中的@Resource注解@Target({TYPE, FIELD, METHOD})@Retention(RUNTIME)public @interface Resource { String name() default ""; String lookup() default ""; Class<?> type() d...原创 2019-10-22 21:47:10 · 248 阅读 · 0 评论 -
(Java程序)Excel自动生成mysql表
读取excel生成字段最近项目中遇到了一个费时间的事,就花了点时间写了一个小程序来做这件事。description:现在在项目的前期设计阶段,需要从excel的数据库表格字段生成数据库,开始是手动搬砖,但是碰到了一个按照时间自增生成的列,一个表需要生成几百列的字段,手敲感觉要命,就写了以下的小程序来完成数据库表的生成和字段的自动生成。如下图,有字段是要分段生成的。以下程序生成...原创 2019-10-09 14:57:24 · 1453 阅读 · 2 评论 -
基于阿里云的docker中安装运行redis并远程访问
有关docker的安装配置这里不详述,直接进重点。在上一篇中我们使用了docker pull redis拉取了远程仓库最新的redis镜像。这里我想主要讲一下的是提供远程访问的注意点配置文件在我们使用压缩包安装redis,解压后的redis根目录下回有一个初始的redis.conf,如下图就是一个redis解压后的根目录。有三点需要注意:redis.conf文件中...原创 2019-09-03 14:52:16 · 3625 阅读 · 1 评论