- 博客(75)
- 资源 (1)
- 收藏
- 关注
原创 Random random = SecureRandom.getInstanceStrong();
真是史前巨坑,上生产环境导致线程阻塞,靠打印日志一点点定位这一句代码。如无特殊要求,可用Random random = new SecureRandom();替代详情可看:https://blog.csdn.net/weixin_45244678/article/details/106137948...
2021-06-25 02:50:20 1307
原创 MySql语句干货记录
group by1、分组字段不能使用字段的重命名进行分组解决方法:-- 查看 sql_modeSELECT @@sql_mode;
2021-06-17 22:20:40 382
原创 DataSource连接失败常见异常捕获
捕获SQLException异常,并对常见的异常进行特殊处理:private static Boolean sqlTest(DataSource dataSource) { try { dataSource.setLoginTimeout(5); dataSource.getConnection().getClientInfo(); }catch (SQLException e) { if(e.g.
2021-05-18 22:39:31 885
原创 mysql时间准换为时间戳方法unix_timestamp()
注意:unix_timestamp()转换的时间戳是以秒为单位的,后端或者前端获取后想要对时间进行格式化,首先需要乘以1000,转化为毫秒级别的时间戳SELECT UNIX_TIMESTAMP(NOW());执行结果:SELECT FROM_UNIXTIME(1610421041);执行结果:...
2021-02-02 18:27:36 674
原创 SpringBoot集成redis,实现分布式锁
1、准备使用redis实现分布式锁,需要用的setnx(),所以需要集成Jedis需要引入jar,jar最好和redis的jar版本对应上,不然会出现版本冲突,使用的时候会报异常,我使用的redis版本是2.3.0 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId>
2021-01-21 15:23:36 652 4
原创 linux安装redis步骤
目录1、检查gcc版本2、下载reids3、解压4、安装5、修改配置文件6、配置全局redis指令7、启动redis8、修改redis密码(重启后失效,第5步修改配置文件即可)9、配置防火墙1、检查gcc版本gcc -v版本在5.3以下的需要升级gccyum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-
2021-01-20 17:29:52 133
原创 数据库JSON类型映射到java实体类中的对象——MyBatis框架
简介在使用MyBatis的过程中,会有这样的需求:POJO里有个属性是非基本数据类型,在DB存储时我们想存的是json格式的字符串,从DB拿出来时想直接映射成目标类型,也即json格式的字符串字段与Java类的相互类型转换。解决方式是为每一个类写一个TypeHandler,但是这样过于繁琐。引入泛型,写一个通用的TypeHandler。代码import com.fasterxml.jackson.databind.ObjectMapper;import org.apache.ibat
2021-01-19 21:56:19 8677 2
转载 SpringCloud使用nacos遇到的问题
参考:https://www.cnblogs.com/cailijuan/p/12018083.html
2020-11-27 18:03:08 384
转载 关于com.google.gson.JsonSyntaxException时间格式解析错误问题
项目中用到了Gson实例化实体时时间格式转换在不同的服务器上会发行改变,所以当我在本地可以正常运行时,发布到线上就不能用了(linux),当时我还很纳闷为何报错,后来百度这个错误后才发现Gson在不同服务器上解析的时间格式不一样,所以在一开始就应该以下列方式来创建Gson对象。private Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();原文:https://blog.csdn.net/q.
2020-08-20 18:56:55 552
原创 SpringBoot Controller类统一异常处理
Controller中通常需要异常处理,给用户友好提示。每个方法都进行try catch显得有点麻烦。可以写一个统一的异常处理方法。利用Spring AOP特性,在Controller类中添加以下方法。 @ExceptionHandler public String doException(Exception ex) throws Exception{ ex.printStackTrace(); return ex.get
2020-05-26 11:09:13 456
原创 SpringBoot拦截器
创建一个拦截器,并且实现HandlerInterceptor 接口class ApiInterceptor implements HandlerInterceptor { //请求之前 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { return false; }
2020-05-26 10:31:06 252
原创 SpringBoot常用注解
@SpringBootApplication //SpringBoot启动主类注解,告诉SpringBoot,这个类是程序的入口@SpringBootConfiguration //SpringBoot的配置注解@EnableAutoConfiguration //自动配置@ComponentScan //SpringBoot Bean扫描规则//@SpringBootApplication 的源码上有@SpringBootConfiguration、@En.
2020-05-26 10:15:19 142
原创 算法-分解质因数
public static int num = 240; public static void main(String[] args) { System.out.print(num+"="); int k = 2;//最小的质数 getnum(k, num); } public static void getnum(int k, int m) { for(int i = k;i<m;i++) { if(m%i==0) { m = m/i; S...
2020-05-25 15:13:10 243
原创 算法-冒泡排序
public static void main(String[] args) { int[] arrs = {9,2,4,6,9,23,25,13}; int temp; for(int i=0;i<arrs.length-1;i++){ for(int j=0;j<arrs.length-1-i;j++){ if(arrs[j]>arrs[j+1]){ temp = arrs[j]; arrs[j] = arrs[j+1];..
2020-05-20 00:30:58 132
原创 算法-选择排序
public static void main(String[] args) { int[] arrs = {9,2,4,6,9,23,25,13}; int temp; for(int i=0;i<arrs.length-1;i++){ for(int j=i+1;j<arrs.length;j++){ if(arrs[i] > arrs[j]){ temp = arrs[i]; arrs[i] = arrs[j]; arr.
2020-05-19 23:53:09 112
原创 算法-斐波那契数列-兔子问题
问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?分析:3月的数量=2月的数量+1月的数量4月的数量=3月的数量+2月的数量...........代码实现 public static void main(String[] args) { int now_1 = 1;//当前-1 int now = 1;//当前 int nows; int m = 5;//..
2020-05-19 23:22:08 287
原创 二、Thread常用方法
目录1.Thread相关源码2.start()与run()3.sleep() 与 interrupt()4.wait() 与 notify()5.sleep() 与 wait()6.join()1.Thread相关源码public class Thread implements Runnable { // 线程名字 private volatil...
2020-04-16 18:02:59 503
原创 一、多线程的创建方式
目录1.继承Thread2.实现Runable3.实现Callable4.线程的状态5.总结1.继承Thread继承Thread类,实现run()方法。public class Main { public static void main(String[] args) { new MyThread().start(); }}c...
2020-04-16 15:41:06 277
原创 搭建https单、双向认证
一、准备工作环境:windows(linux类似) 工具:openssl、nginx二、生成证书方法一:可从正规网站获取,有收费或者免费的,如阿里云 方法二:JDK的Keytool生成证书 方法三:openssl生成后两种方法适合自己测试,正规网站获取的证书安全性高,并且根证书都是大厂认证,浏览器一般内置,不需要再导入证书。文章使用的是第三种方法,openssl生成证书。...
2019-11-07 14:41:47 481
转载 RestTemplate产生异常java.lang.IllegalStateException: No instances available for 。。。。。。。
解决方案:自己生产一个RestTemplate@Bean(name="remoteRestTemplate")public RestTemplate restTemplate() { return new RestTemplate();}@Autowired@Qualifier(value = "remoteRestTemplate")private RestTempl...
2019-05-10 16:30:04 4978 3
原创 JAVA向上、向下转型
Animal dog = new Dog();//向上转型dog只能调用Animal中定义的成员变量或者方法; 若Dog中存在重写Animal中的成员变量或者方法,则dog调用的是Dog中重写的部分; dog不能调用Dog中新增加的方法。Animal a1 = new Animal();Animal a2= new Dog();Dog dog = (Dog)a1;//向下转型,...
2019-03-25 18:48:38 166
原创 java中成员变量的作用域
public表明该成员变量或者方法对所有类或者对象都是可见的,所有类或者对象都可以直接访问。 private表明该成员变量或者方法是私有的,只有当前类对其具有访问权限,除此之外的类或者对象都没有访问权限。 protected表明该成员变量或者方法只对自己及其子类可见,即自己和子类具有访问权限。除此之外的都没有访问权限。 dufault表明该成员变量或者方法对自己或者与其位于同一包内的类可见。...
2019-02-12 14:38:57 2338
原创 java程序初始化顺序
一般遵循三个原则:静态对像(变量)优先于非静态对象(变量),其中静态对像(变量)只初始化一次,而非静态对象(变量)可能会初始化多次。 父类优先于子类进行初始化。 按照成员变量的初始化顺序进行初始化。即使变量定义散布于方法定义之中,它们依然在任何方法(包括构造函数)调用前先进行初始化。父类静态变量 父类静态代码块 子类静态变量 子类静态代码块 父类非静态变量 父类非静态代码块 ...
2019-02-12 13:40:54 367
原创 获取两个日期相差多少个月
/** * 获取两个日期相差多少个月 * @param beginTime * @param endTime * @return */ public static int getMonthDateDisparity(Date beginTime, Date endTime) { Calendar begin = Calendar.getInstance(); Ca...
2018-12-28 18:18:35 636
原创 Mysql创建存储过程
DELIMITER $$CREATE PROCEDURE `antitheft_location`.`query_table`(IN time_str VARCHAR(50)) BEGIN SET @tableName = CONCAT('at_locator_device_location_2017ibpdxihhda_',time_st...
2018-11-21 15:28:17 132
原创 mysql统计sql
sql函数:year(now())当前的年份month(now())当前的月份yearweek(now()):当前年的第几周,如201816,即2018年第16周DAYOFMONTH(now()):当前月的第几天,相当于几号hour(now()):当前小时DATE_FORMAT(now(),'%Y-%m-%d'):时间格式化注:年、月、日、小时要结合起来一起用,如果想统...
2018-11-19 14:34:03 556
原创 获取一天24小时每小时的订单数量,没有的置为0
select d.hours,case when o.num is null then 0 else o.num end as number from (select count(*)as num,HOUR(create_TIME)as hour from at_order where DATE_FORMAT(create_TIME,'%Y-%m-%d')='2018-11-15' GROUP...
2018-11-15 19:33:04 2976
转载 js去掉html中的所有标签
<script> //替换掉所有的 html标签,得到Html标签中的内容 var content="<P><FONT face=宋体 color=#000000> 北京中航宇飞科技有限公司是一家致力于为中国国防工业服务的高新企业。<BR> <BR> 事业一部 主要以连接器、常异型热缩套管和电缆组件的外协加工为主。凭借泰...
2018-10-18 19:13:23 1371
原创 小程序图片不显示(在没有错误的情况下)
2018年9月20日小程序中的图片忽然间不显示了,在微信浏览器和其他浏览器中可以显示,百思不得其解。只能用排除法。1、图片路径、名称去掉中文,特殊符号;2、图片内存过大;3、图片尺寸像素过大。经测试,1、图片名称最好不要代用中文;2、图片尺寸在高和宽在4千以上在小程序中有可能显示不出来;3、图片内存过大,会使小程序加载过慢,建议生成缩略图。...
2018-09-25 10:58:30 3484
原创 pdf预览插件,小程序web-view安卓pdf预览需要下载解决方案
使用插件pdf.js资源:pdf_view.rar 下载地址:https://download.csdn.net/download/qq_37252429/10667524用法:进入页面pdf_view/web/viewer.html?pdf_url=pdf的路径就可以进入pdf预览页面缺点:占用内存过大,在小程序中,安卓有可能会提示占用资源过多,强行关闭小程序。 ...
2018-09-14 17:23:48 6120
原创 微信小程序pdf预览
方法一web-view下,可以直接通过a标签设置src<a href="https://h5.suyuan360.com/spsy/suy/temp/YUANfcl38.pdf" style="color: red;">查看</a>1、必须是以https开头,http在小程序中无法打开;2、需要在小程序中设置好业务域名3、ios可以直接打开预览,安卓必...
2018-09-07 11:50:00 19313 1
原创 MySql语句时间格式化
DATE_FORMAT(join_time,'%Y-%m-%d')时间格式化为yyyy-MM-ddHOUR(join_time)获取小时join_time为字段名
2018-09-01 10:11:02 1127
原创 spring批量新增mysql数据
public void create(List<WfCountHoursFansNum> list) { String sql = new WfCountHoursFansNum().getCreateObjSql() ;//暂时未优化 // logger.debug("create(String sql, T t)====" + sql); BeanPropertySq...
2018-06-26 18:40:55 318
转载 单机结构——集群——分布式
单机结构我想大家最最最熟悉的就是单机结构,一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构。那么,单机结构有啥缺点呢?我想缺点是显而易见的,单机的处理能力毕竟是有限的,当你的业务增长到一定程度的时候,单机的硬件资源将无法满足你的业务需求。此时便出现了集群模式,往下接着看。集群结构集群模式在程序猿界有...
2018-05-14 15:06:12 285
原创 获取两个坐标点间的距离
private static double EARTH_RADIUS = 6378.137; private static double rad(double d) { return d * Math.PI / 180.0; } /** * 获取两个坐标点之间的距离 * @param lat1 起点经度 * @param lng1 起点维度 * @...
2018-05-04 10:07:07 1314 1
原创 Simpledateformat 时间格式化多了一小时
错误:import com.ibm.icu.text.SimpleDateFormat;正确:import java.text.SimpleDateFormat;
2018-05-03 11:03:25 1642
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人