java
花飘万家雪
这个作者很懒,什么都没留下…
展开
-
生成二维码
0.概述相关背景参考https://blog.csdn.net/lizhengjava/article/details/76947962,本Demo将调用google api生成二维码改为了com.google.zxing包本地生成。1. pom.xml dependencies部分 <dependencies> <dependency> <groupId>commons-codec</groupId> <a...转载 2021-05-18 17:11:19 · 331 阅读 · 0 评论 -
java生成二维码
一.maven依赖下载google的二维码工具包来进行二维码的生成,下面是jar包的maven下载<dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.1.0</version></dependency><dependency> &转载 2021-05-14 13:44:19 · 606 阅读 · 0 评论 -
格式文本解析:Apache Tika介绍及使用
1、Tika应用层架构应用程序员可以很容易地在他们的应用程序集成Tika。Tika提供了一个命令行界面和图形用户界面,使它比较人性化。在本章中,我们将讨论构成Tika架构的四个重要模块。下图显示了Tika的四个模块的体系结构:语言检测机制。 MIME检测机制。 Parser接口。 Tika Facade 类.1.1 语言检测机制每当一个文本文件被传递到Tika,它将检测在其中的语言。它接受没有语言的注释文件和通过检测该语言添加在该文件的元数据信息。支持语言识别,Tika 有.转载 2021-01-22 16:02:05 · 6294 阅读 · 0 评论 -
Java多线程-线程池ThreadPoolExecutor的submit返回值Future
一般使用线程池执行任务都是调用的execute方法,这个方法定义在Executor接口中:public interface Executor { void execute(Runnable command);}1 2 3这个方法是没有返回值的,而且只接受Runnable。那么像得到线程的返回值怎嘛办呢?在ExecutorService接口中能找到这个方法:<T> Future<T> submit(Callable<T> task);转载 2020-11-06 19:12:29 · 6748 阅读 · 0 评论 -
SpringBoot使用ProxyServlet配置服务代理
实现代理服务功能,思路是:客户端发送请求,由代理服务端通过端口监听到请求,然后在作为代理去访问真实的服务器,最后由真实的服务器将响应返回给代理,代理再返回给浏览器。引入相关依赖<!-- https://mvnrepository.com/artifact/org.mitre.dsmiley.httpproxy/smiley-http-proxy-servlet --> <dependency> <groupId>org.m转载 2020-10-22 10:54:05 · 7719 阅读 · 1 评论 -
Prometheus自定义监控内容
Prometheus自定义监控内容一、io.micrometer的使用 1.1 Counter 1.2 Gauge 1.3 Timer 1.4 Summary 二、扩展相关内容原文地址:博客园:Throwable:基于Prometheus搭建SpringCloud全方位立体监控体系一、io.micrometer的使用在SpringBoot2.X中,spring-boot-starter-actuator引入了io.micrometer,对1.X中的metrics.转载 2020-09-27 09:34:16 · 2529 阅读 · 1 评论 -
SpringBoot注入Service失败-JDK dynamic proxy that implements
Description:The bean ‘userService‘ could not be injected as a ‘com.phy.hemanresoruce.service.UserService‘ because it is a JDK dynamic proxy that implements:Action:Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based.转载 2020-08-25 15:59:22 · 2008 阅读 · 0 评论 -
BoneCP连接池配置参数详细说明
参数意义说明一 BoneCP主要配置参数 1jdbcUrl 设置数据库URL 2username设置数据库用户名 3password设置数据库密码 4partitionCount设置分区个数。这个参数默认为1,建议3-4(根据特定应用程序而定)。为了减少锁竞争和改善性能,从当前线程分区(thread-affinity)中获取一个connection,也就是这个样子:partitions[Th...转载 2018-04-02 17:10:00 · 1629 阅读 · 0 评论 -
JDBC preparedStatement和连接池PreparedStatementsCache
之前看JDBC规范的时候对PreparedStatement只是简单的知道会进行sql预编译,能提高性能。具体原理也没怎么理解。最近在性能测试遇到一个连接池的调优刚好是和PreparedStatement和PreparedStatementCache相关的。固重新系统的看了点资料学习了点,简单记录一下。 1.java.sql.PreparedStatement 首先看wiki对使用PS的解释:Th...转载 2018-04-02 17:29:37 · 2254 阅读 · 0 评论 -
XSD文件详解
Xml Schema的用途1. 定义一个Xml文档中都有什么元素2. 定义一个Xml文档中都会有什么属性3. 定义某个节点的都有什么样的子节点,可以有多少个子节点,子节点出现的顺序4. 定义元素或者属性的数据类型5. 定义元素或者属性的默认值或者固定值Xml Schema的根元素:<?xml version="1.0"?><xs:schema xmlns:xs="htt...转载 2018-05-19 14:42:53 · 5514 阅读 · 0 评论 -
Linux指定tomcat使用的jdk并配置内存大小
1、目录切换到tomct/bin下;2、在setclasspath.sh和catalina.sh文件的开头指定JAVA_HOME和JRE_HOME:假定jdk的目录为/home/java/jdk1.7.0_79 export JAVA_HOME=/home/java/jdk1.7.0_79 export JRE_HOME=/home/java/jdk1.7.0_79/jre3、配置内存...原创 2018-06-22 11:05:48 · 3473 阅读 · 0 评论 -
JDBC如何进行超时设置
当的JDBC超时设置能够有效地减少服务失效的时间。本文将对数据库的各种超时设置及其设置方法做介绍。 真实案例:应用服务器在遭到DDos攻击后无法响应 在遭到DDos攻击后,整个服务都垮掉了。由于第四层交换机不堪重负,网络变得无法连接,从而导致业务系统也无法正常运转。安全组很快屏蔽了所有的DDos攻击,并恢复了网络,但业务系统却还是无法工作。 通过分析系统的thread dump发现,业务系统...转载 2018-06-22 16:11:09 · 16862 阅读 · 0 评论 -
Spring中propagation的7种事务配置
一、在声明式的事务处理中,要配置一个切面,其中就用到了propagation,表示打算对这些方法怎么使用事务,是用还是不用,其中propagation有七种配置,REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED。默认是REQUIRED。二、Spring中七种Propagation类...转载 2018-07-10 09:17:31 · 309 阅读 · 0 评论 -
CentOS7之时区修改
CentOS7修改时区的正确姿势今天在CentOS7上运行Java程序,发现程序生成的时间与当前时间匹配不上,还以为是数据停止更新了,后来发现没有正确使用修改时区的姿势,导致程序时区错误。正确的修改CentOS7 时区的姿势:ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime其他系统的修改文件可能是/var/etc/loca...转载 2018-07-19 19:09:23 · 1102 阅读 · 1 评论 -
Java多线程——多线程的异常捕捉
一、概述 为什么要单独讲多线程的异常捕捉呢?先看个例子:public class ThreadException implements Runnable{ @Override public void run() { throw new RuntimeException(); } //现象:控制台打印出异常信息,并运行一段时间后才停止 ...转载 2018-08-10 15:50:26 · 253 阅读 · 0 评论 -
nginx和keepalived实现nginx高可用
首先介绍一下Keepalived,它是一个高性能的服务器高可用或热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx的配合实现web服务端的高可用。 Keepalived以VRRP协议为实现基础,用VRRP协议来实现高可用性(HA).VRRP (Virtual Router Redundancy Protocol)协议是用于实现路由器冗...转载 2018-08-10 18:08:49 · 252 阅读 · 0 评论 -
Spring Boot采用yml的方式配置 Log4j2 日志文件
从图中不难看出,在线程数为 2~16 之间,混合使用同步和异步的logger来打印日志,性能是最好的 1、选择Log4j2的理由是啥,为啥不用spring boot 默认的?优化 说明 执行速度 Log4j 2.x 相对于 Log4j 1.x 和 Logback来说,具有更快的执行速度。一方面由于 重写了内部的实现,在某些特定的场景上面,甚至可以比之前的速度快...转载 2018-09-25 16:29:18 · 2507 阅读 · 0 评论 -
Hibernate使用中间表完成单向多对多关联关系的配置和级联操作示例
有两个原本没有关系的原创 2014-10-17 15:14:15 · 1108 阅读 · 0 评论 -
Idea 常用快捷键
Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以快速打开类C...转载 2019-03-18 14:58:07 · 96 阅读 · 0 评论 -
springboot + mybatis + 多数据源
在实际开发中,我们一个项目可能会用到多个数据库,通常一个数据库对应一个数据源。代码结构:简要原理:1)DatabaseType列出所有的数据源的key---key2)DatabaseContextHolder是一个线程安全的DatabaseType容器,并提供了向其中设置和获取DatabaseType的方法3)DynamicDataSource继承AbstractRouti...转载 2019-01-25 11:13:53 · 169 阅读 · 0 评论 -
使用StringEscapeUtils对Java中特殊字符进行转义和反转义
1、引用jar包:commons-lang.jar2、示例:import org.apache.commons.lang.StringEscapeUtils; public class Test { public static void main(String[] args) { String str = "thi is a test 这是一个测试"; ...转载 2018-12-12 10:32:24 · 51392 阅读 · 0 评论 -
ExecutorService线程池
前言 在我们的日常开发中,难免会使用到线程,部分还会用到多线程并发问题。我们知道,线程的创建和释放,需要占用不小的内存和资源。如果每次需要使用线程时,都new 一个Thread的话,难免会造成资源的浪费,而且可以无限制创建,之间相互竞争,会导致过多占用系统资源导致系统瘫痪。不利于扩展,比如如定时执行、定期执行、线程中断,所以很有必要了解下ExecutorService的使用。...转载 2018-11-15 17:37:45 · 347 阅读 · 0 评论 -
使用Java反射机制将Bean对象转换成Map(驼峰命名方式 — 下划线命名方式)
1、驼峰与下划线方式名称互相转换工具类public class CamelUnderlineUtil { private static final char UNDERLINE ='_'; public static String camelToUnderline(String param) { if (StringUtil.isEmpty(param)) { return ...原创 2018-11-15 17:33:00 · 5784 阅读 · 1 评论 -
eclipse的maven项目提示Missing artifact jdk.tools:jdk.tools:jar:1.7
eclipse的maven工程的pom文件中有如下配置 <plugins> …… <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifa...原创 2018-10-19 15:02:47 · 1696 阅读 · 1 评论 -
将memcached的jar包安装到maven repository
由于目前java memcached client没有官方的maven repository可供使用,因此使用时需要手动将其安装到本地repository。java memcached client的jar包下载地址:https://github.com/gwhalin/Memcached-Java-Client/downloads 目前2.6.2版本的java memcached client要转载 2018-01-09 11:07:34 · 485 阅读 · 0 评论 -
Java 开发必会的 Linux 命令
作为一个Java开发人员,有些常用的Linux命令必须掌握。即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过shell命令。本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用--help查看帮助或者直接通过google搜索学习。1.查找文件find转载 2016-07-19 17:44:02 · 436 阅读 · 0 评论 -
java quartz 中的时间格式
SimpleTrigger如果需要计划一个任务在指定的时间执行,或者在指定的时间后以指定的间隔连续执行多次,比如希望在2005年1月12号上午11:22:54开始执行一个任务,在这之后每隔20分钟执行一次,共执行一次,这种情况下可以使用SimpleTrigger。SimpleTrigger包含几个属性:开始时间,结束时间,重复次数和间隔。重复次数可以是大于等于0,或者是常量值S转载 2016-03-24 15:15:49 · 512 阅读 · 0 评论 -
Echarts地图相关功能整合
Echarts是一款开源、功能强大的数据可视化产品。之前做图表一直都是使用Highcharts来做的,Echarts与Highcharts大致用法差不多,最近用到了Echarts的地图功能,把官网上的两个例子整合了一下终于达到了要求。贴出来跟大家分享一下。另附上新疆各市县经纬度js文件一份(xjGeoCoord.js)先来晒一个效果图吧下面就来看一下代码如果实现一、...原创 2015-12-11 16:35:14 · 13981 阅读 · 1 评论 -
java多线程 并发编程
一、多线程1、操作系统有两个容易混淆的概念,进程和线程。进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间转载 2015-09-11 16:55:31 · 824 阅读 · 0 评论 -
Hibernate的generator属性
本文讲述Hibernate的generator属性的意义。Generator属性有7种class,本文简略描述了这7种class的意义和用法。[xhtml] view plaincopyclass name="onlyfun.caterpillar.User" table="USER"> id name="id" type="str转载 2015-05-08 09:23:44 · 792 阅读 · 0 评论 -
Proxool 连接池 配置 实例
proxool 配置的时候可以 以 Proxool.properties 或者 Proxool.xml 两种方式初始化。 我的配置环境是 Tomcat6.0 + mysql5.0 。 数据库是 FileShare。配置前先要下载 proxool-0.9.1RC2.zip,拷贝proxool-0.9.1.jar 和 proxool-cglib.jar 到web-info/lib 下载pr转载 2015-03-23 10:10:57 · 623 阅读 · 0 评论 -
Spring quartz定时器动态多任务实现
项目中经常会碰到需要定时执行的任务,并且需要执行什么任务,以及任务执行的时间都由用户自定义的需求。quartz是比较常用的定时器工具,并且在spring框架中也已经做了很好的集成,所以在以spring+hibernate+struts的主流架构中,我们可以采用quartz来做定时器任务的解决方案,下面,我们来看下如何在项目中使用quartz来做动态多任务定时器功能。 1.简单单任务定转载 2014-09-16 17:19:30 · 899 阅读 · 0 评论 -
POI操作Excel:cell的背景颜色类型
POI中背景颜色设置方法如下: HSSFCellStyle style = workbook.createCellStyle(); style.setFillBackgroundColor(HSSFColor.AQUA.index); cell.setCellStyle(style);颜色类型是在HSSFColor里面定义的.色转载 2014-09-01 17:38:59 · 1076 阅读 · 0 评论 -
BoneCP学习笔记
什么是BoneCPBoneCP 是一个快速、免费而且开源的java数据库连接池(JDBC Pool)管理工具库。如果你曾经使用过C3P0或者DBCP,那你肯定知道上面这句话的意思;如果你没用过这些,那简单的解释一下,它是一个能为你的应用管理数据库连接的工具。 官方网站:http://jolbox.com/ 为什么要学习BoneCP 本着不重复发明轮子的原则,不转载 2014-09-01 16:45:15 · 492 阅读 · 0 评论 -
带有查询和排序功能的jquery分页插件——DataTables
近期的项目中用到了一个功能非常强大的jquery分页插件— —DataTables,只需要向Action传递4个参数,调用相应的查询方法,就可以做出带有查询和排序功能的分页来,下面来介绍一下主要的代码。 一、页面部分 (1)、引用的js: jquery.datatables.min.js (2)、javascript代码原创 2013-12-16 11:03:31 · 14965 阅读 · 0 评论 -
IE9在FCKeditor编辑器插入图片时,弹出窗口后没反映,提示调用的对象无效
在使用富文本编辑器FCKeditor插入图片时,在IE8跟firefox下正常,但在IE9下,点击插入图片按钮后弹出窗口后就没有反映了, 也不无法进行其他操作,使用F12提示调用的对象无效。 这个时候 ,打开下面这个文件 fckeditor/editor/js/fckeditorcode_ie.js 找到这个方法:FCKTools.RegisterDollarFunction 将原来原创 2013-11-15 10:10:43 · 1548 阅读 · 0 评论 -
Spring MVC 三大组件
㈠ HandlerMapping 处理器映射通过处理器映射,你可以将Web 请求映射到正确的处理器 Controller 上。当接收到请求时,DispactherServlet 将请求交给 HandlerMapping 处理器映射,让他检查请求并找到一个合适的HandlerExecutionChain,这个HandlerExecutionChain 包含一个能处理该请求的处理器 Control转载 2017-04-13 15:09:35 · 3001 阅读 · 0 评论 -
Eclipse中.setting目录下文件介绍
摘要: Eclipse项目中系统文件介绍一. 写在前面文章较长,可以直接到感兴趣的段落,或者直接关键字搜索;请原谅作者掌握的编程语言少,这里只研究Java相关的项目;每一个文件仅仅做一个常见内容的简单介绍,这些知识多数来自于实践理解和网络搜索,可能会不全面,更详细的可以看相关的参考资料。Eclipse项目中系统文件介绍一. 写在前面文章较长,可以直接到感兴趣的段落,或者直接关键字搜转载 2017-05-12 17:09:09 · 400 阅读 · 0 评论 -
maven环境变量配置
配置maven环境变量cmd控制台提示:mvn不是内部或外部命令,也不是可运行的程序或批处理文件配置maven环境变量cmd控制台提示:mvn不是内部或外部命令,也不是可运行的程序或批处理文件系统变量:1、变量名:MAVEN_HOME变量值:d:\apache-maven-3.3.9变量名:Path变量值:;%MVN_HOME%\bin2、在Path中添加:;%原创 2018-01-09 11:32:16 · 185 阅读 · 0 评论 -
Quartz 定时任务时间设置
quartz定时任务时间设置: 这些星号由左到右按顺序代表 : * * * * * * * 格式: [秒] [分] [小时] [日] [月] [周] [年] * 表示所有值. 例如:在分的字段上设置 "*",表示每一分钟都会触发。 ? 表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"转载 2018-01-25 10:06:30 · 20423 阅读 · 0 评论