java
文章平均质量分 68
皮卡车厘子
我的架构师之路
展开
-
最新全国区划代码-2022年全国各省五级行政区划代码及名称数据(省-市-区县-乡镇-村)
包括字段:省份名称、城市编码、城市名称、区县编码、区县名称、乡镇街道编码、乡镇街道名称、居委会村编码、城乡分类编码、居委会村名称、完整五级地址。本数据基于JAVA爬取国家统计局行政区划代码,可找我获取源码以及SQL。2、官方更新时间:2022年10月31日。原创 2023-02-25 10:35:42 · 10019 阅读 · 14 评论 -
docker 安装Zimg图片服务器
ZIMG是一套国人针对图片处理服务器而设计开发的开源程序原创 2022-11-04 12:15:14 · 798 阅读 · 0 评论 -
Centos7 安装Nginx,MySQL,Redis,JDK1.8
Springboot基本服务器环境部署,包含MySQL,Redis,Nginx原创 2022-07-22 11:08:45 · 629 阅读 · 0 评论 -
TX-LCN事务控制原理
LCN模式是通过代理Connection的方式实现对本地事务的操作,然后在由TxManager统一协调控制事务。当本地事务提交回滚或者关闭连接时将会执行假操作,该代理的连接将由LCN连接池管理。原创 2022-06-22 17:19:13 · 133 阅读 · 0 评论 -
@Import注解詳解
通常将一个对象交给Spring来管理,有三种做法:1、@Bean2、@Componet(@Service等归为一类)3、@Import这里主要讲第三种做法,打开Spring源码@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Import { Class<?>[] value();}@Import注解只有一个value方法,注释中指明该原创 2022-03-15 12:18:26 · 950 阅读 · 0 评论 -
Linux 环境中直接替换jar包中的配置文件或者class文件避免重新打包
如果java 工程是打包成jar工程,这个时候又修改了少量代码,重新打包上传就比较麻烦。可用如下方式局部替换配置文件或者class文件。解析命令:jar: 包是Java中所特有一种压缩文档 -u 添加文件到jar包中 -v 生成详细的报造,并输出至标准设备 -f 指定jar包的文件名 -t 显示jar中的内容列表-c 创建一个jar包-t 显示jar中的内容列表-x 解压jar包-m 指定manifest.mf文件.(manifest.mf文件中可以对jar包及原创 2020-05-19 18:45:32 · 5770 阅读 · 3 评论 -
HttpUtils实用工具类,兼容http和https两种请求类型
HttpUtils实用工具类,兼容http和https两种请求类型,首选需要引入maven包<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.11.3</version></de...原创 2020-01-03 10:52:39 · 1944 阅读 · 0 评论 -
java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer
mysql中通过统计函数返回值是BigDecimal,不能使用Integer或者String 接收,否则报错<select id="getMonthFee" resultType="java.util.HashMap"> SELECT SUM(CASE WHEN b.bill_state =1 THEN b.money ELSE 0 END ) AS pay, SUM...原创 2019-12-03 09:51:15 · 2599 阅读 · 0 评论 -
@DateTimeFormat @JsonFormat @JSONField 日期参数格式化
最近一朋友弟弟问我前端传日期参数后台接收报错怎么解决,其实这个问题很简单,一般简单数据类型前端传参请求头分为两种格式,第一种 application/x-www-form-urlencoded 表单形式,第二种application/json JSON格式。针对这两种header需要不同的方式去接收,后台需要将日期字符串转换成Date类型。前端Content-Type 为applicatio...原创 2019-10-13 10:43:58 · 1867 阅读 · 0 评论 -
java 设计模式之观察者模式(高级应用)
本文是运用观察者模式,不清楚的伙伴们可以先看基础篇:https://blog.csdn.net/yk614294861/article/details/86493056近期在做一个门禁系统,该门禁系统需要对接很多人脸开门的设备厂家,默认系统中有一个主流程是开卡,由于之前小伙伴门,每次对接一个厂家都在主流程中增加几行代码,引入需要增加的厂商服务类,这种操作代码严重耦合,经常改动原本完整的代码。因...原创 2019-01-15 17:42:24 · 624 阅读 · 0 评论 -
ApplicationContextAware+Spring 观察者模式
在某些特殊的情况下,Bean需要实现某个功能,但该功能必须借助于Spring容器才能实现,此时就必须让该Bean先获取Spring容器,然后借助于Spring容器实现该功能。为了让Bean获取它所在的Spring容器,可以让该Bean实现ApplicationContextAware接口.因为Spring容器启动时候会检测容器中的所有Bean,如果发现某个Bean实现了ApplicationCon...原创 2019-05-30 15:13:08 · 350 阅读 · 0 评论 -
@ConfigurationProperties、@PropertySource注解的使用
@ConfigurationProperties(prefix = "person.dog")注解来修饰某类bean,其作用是告诉springBoot,获取配置文件中属性值,然后此类中的属性将与配置文件中对应属性一一绑定。【prefix = "person.dog"】表示与配置文件中哪个层级的属性进行绑定。如果是在主配置文件中(属性名必须是application.yml或application.p...原创 2019-06-05 17:33:22 · 615 阅读 · 0 评论 -
本地JConsole,visualVM 远程监控linux下的JVM配置
网上很多都是说更改tomcat的启动文件,步骤繁琐,其实可以直接编辑系统环境文件,添加如下配置即可编辑/etc/profile文件加入以下配置,其中192.168.1.254 是Linux 主机的ip ,8888 是远程端口,authenticate=false 表示不需要密码直接复制export JAVA_OPTS='-Djava.rmi.server.hostname=192....原创 2019-07-02 11:59:06 · 184 阅读 · 0 评论 -
CAP定理与服务治理
CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容忍性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)可用性(A):在集群中一部分节点故障后...原创 2019-06-24 15:13:43 · 223 阅读 · 0 评论 -
java多线程(五)synchronized关键字修饰代码块
转载于:http://blog.csdn.net/xingjiarong/article/details/47916703 在上一篇博客中我们介绍了synchronized关键字修饰方法的用法,我们接着介绍synchronized关键字。除了修饰方法之外,还可以修饰代码块,一共有以下5种用法。一、thissynchronized(this){ //互斥代码}123这里的this指的是执行...转载 2018-03-29 17:59:51 · 472 阅读 · 0 评论 -
Spring项目bean 无法注入问题 ---懒加载并且无引用
Spring 项目bean 无法注入或者初始化,可能是扫描问题,下面分两种情况研究1.配置得bean 没有被扫描先说一下<context:component-scan base-package="com.summer"> 在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component @Controll...原创 2018-11-20 11:52:58 · 7575 阅读 · 0 评论 -
Spring 集成quartz框架的两种方式
Java项目中常使用的定时器有JDK Timer、Quartz、Spring Task等三种。Quartz的功能强大,配置也比较复杂,适合大型、多定时任务的项目使用。Spring Task配置较为简单轻量,需要Spring框架支持。JDK自带的定时器Timer使用灵活,配置简单,适合中小型项目。这里记录下quartz方式一、Quartz作业类的继承方式来讲,可以分为两类:作业类需要继承自特...原创 2018-11-21 16:49:17 · 7740 阅读 · 2 评论 -
Java单例模式——并非看起来那么简单
此篇幅也很详细:https://blog.csdn.net/chenchaofuck1/article/details/51702129 Java中单例(Singleton)模式是一种广泛使用的设计模式。单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。一些管理器和控制器常被设计成单例模式。 单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创建对象...转载 2018-03-30 11:27:51 · 123 阅读 · 0 评论 -
java多线程什么时候释放锁—wait()、notify()
由于等待一个锁定线程只有在获得这把锁之后,才能恢复运行,所以让持有锁的线程在不需要锁的时候及时释放锁是很重要的。在以下情况下,持有锁的线程会释放锁: 1. 执行完同步代码块。 2. 在执行同步代码块的过程中,遇到异常而导致线程终止。 3. 在执行同步代码块的过程中,执行了锁所属对象的wait()方法,这个线程会释放锁,进行对象的等待池。 除了以上情况外,只要持有锁的此案吃...转载 2018-03-30 10:04:14 · 1857 阅读 · 2 评论 -
Thread.sleep(0)的意义
我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0) 。既然...转载 2018-03-30 09:59:19 · 164 阅读 · 0 评论 -
java多线程(四)synchronized关键字修饰方法
转载请注明出处:http://blog.csdn.net/xingjiarong/article/details/47907237在之前的博客中我们介绍了条件对象和锁对象,两者结合使用才能起到比较好的互斥与同步效果,大家可能觉得有些麻烦,有没有将两者结合起来的工具呢,有!java提供了synchronized关键字来实现线程的互斥和同步,其达到的效果相当于条件对象和锁对象结合起来的效果。synch...转载 2018-03-29 18:01:00 · 333 阅读 · 0 评论 -
jdk原生的加密方式MessageDigest
package xmodule.test;import java.security.MessageDigest;public class JiaMIJieMIDemo { public static void main(String[] args) { // MD5 SHA-1 SHA-256 String signString = “123qwe”;转载 2017-12-28 17:54:24 · 544 阅读 · 0 评论 -
AES对称加密解密Demo
package xmodule.test; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.转载 2017-12-28 17:49:24 · 1521 阅读 · 1 评论 -
httpClient访问远程接口工具类
package xmodule.test;import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.Map;import org.apache.http.HttpResponse; import org.apache原创 2017-12-28 17:17:58 · 739 阅读 · 0 评论 -
关于Java解压文件的一些坑及经验分享
就在本周, 测试人员找到我说现上的需求文档(zip格式的)无法预览了, 让我帮忙看看怎么回事。 这个功能也并不是我做的, 于是我便先看看线上日志有没有什么错误,果不其然, 后台果然报错了。 java.lang.IllegalArgumentException:MALFORMED at java.util.zip.ZipCoder.toString(ZipCoder.toStrin转载 2018-01-03 14:42:47 · 3950 阅读 · 0 评论 -
Spring开发@Autowired注解和@Resource注解的区别
在java代码中使用@Autowired或@Resource注解方式进行装配,这两个注解的区别是:@Autowired默认按类型装配,@Resource默认按名称装配,当找不到与名称匹配的bean才会按类型装配。@Resource注解和@Autowired注解一样可以标注在属性上或者属性的set方法上面,默认是按照 名称去装配,通过name属性指定,如果没有name属性的话,则按照字段名或者set...原创 2018-04-26 10:49:31 · 233 阅读 · 0 评论 -
SpringMVC上下文父子容器问题
Spring 项目在启动的时候是先初始化Spring 容器,会根据web.xml中配置的ContextLoaderListener 指定的配置文件扫描bean.初始化完成后再开始SpringMvc容器的初始化。如果定义的扫描范围重复的话,会导致bean会初始化两次,同时也会引起一些问题,比如事务失效,properties文件中使用@Value注入的属性无法获取,因为这些配置一般会在Spring的配...原创 2018-11-20 18:28:05 · 449 阅读 · 0 评论 -
Spring项目bean 无法注入问题--Thread中注入Bean无效
有时候在spring项目中可能会遇到依赖的属性没有被注入,这个时候可能有很多原因。spring默认是单例的,通常注入的时候我们使用比较多的是@Autowired,这个注解默认按照类型注入(同时会处理依赖关系)。当没有注入的时候,即使用的时候值为null ,会报空指针异常 ,需要查看此属性的bean 有没有被spring初始化并管理,比如bean有没有被扫描到,或者配置。 今天这这里我研...原创 2018-11-15 14:54:54 · 2159 阅读 · 0 评论 -
spring 集成ActiveMQ
1、什么是JMS JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持(百度百科给出的概述)。我们可以简单的理解:两个应用程序之间需要进行通信,我们使用一个...原创 2018-10-30 16:17:25 · 224 阅读 · 0 评论 -
welcome-file-list 与SpringMvc 的 DispatcherServlet
1. <welcome-file-list>标签下可以设置多个首页<welcome-file>,容器启动后会在根目录下依次查找匹配的物理存在的文件,返回第一个找到的文件,没有找到报404错误。敲黑板了,敲黑板了,敲黑板了,注意首页的路径只能是一个实际存在的物理文件地址,不能将首页设置成Servlet或Controller的地址,再通过来Servlet或Controller返...原创 2018-10-26 17:11:48 · 1213 阅读 · 0 评论 -
zxing二维码生成与解析
本文是基于google的zxing简单的生成和解析二维码的demo,直接上代码了 package com.summer.test;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.nio.file.Path;import java....原创 2018-10-17 14:34:34 · 488 阅读 · 0 评论 -
图片与字符串互相转换
图片文件-----》字符串 :图片需要先读取成byte[] ,再使用BASE64将byte[] 编码后成为字符串;字符串-----》图片文件 :先将字符串使用Base64解码得到byte[] ,然后写出成为文件; package com.test;import java.io.BufferedInputStream;import java.io.File;import j...原创 2018-09-21 16:35:49 · 11066 阅读 · 1 评论 -
Spring 线程池使用
Spring 中默认自带线程池org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor,一般有可以直接使用,这是时候使用的是默认的配置,直接使用@Autowired注入使用 @Autowired private ThreadPoolTaskExecutor poolTaskExecutor;packag...原创 2018-10-11 09:52:27 · 22922 阅读 · 1 评论