java
文章平均质量分 57
tyilack_小小黑
这个作者很懒,什么都没留下…
展开
-
JDK中注解的底层实现
JDK中注解的底层实现转载自:https://www.throwx.cn/2020/03/16/annotation-implementation/JDK的注解描述参考JavaSE-8里面的JLS-9.6对注解的描述如下:注解的声明如下:{InterfaceModifier} @ interface Identifier AnnotationTypeBody接口修饰符 @ interface 注解标识符 注解类型的内容其中:注解类型声明中的标识符指定了注解类型的名称。如果注解类型与它转载 2020-12-06 18:30:43 · 492 阅读 · 0 评论 -
maven制作archetype(原型)
1.在本地新建第一个符合公司规范的maven项目2.创建archetype到本地仓库因为idea会生成很多不必要的文件,所以首先创建一个archetype.properties,配置需要过滤的文件# 打包过滤文件excludePatterns=.idea/*,README.md,.git,*.iml,.idea/这里需要注意的是.idea文件夹,需要同时添加.idea/*,.idea/这两个配置才会生效运行命令:mvn archetype:create-from-project -Da原创 2020-11-08 22:22:42 · 1188 阅读 · 0 评论 -
Java去除字符串中的不可打印字符和(emoji)表情字符
str.replaceAll("[\\p{C}\\p{So}\uFE00-\uFE0F\\x{E0100}-\\x{E01EF}]+", "") .replaceAll(" {2,}", " ");原创 2020-05-15 09:39:17 · 1939 阅读 · 1 评论 -
Java9集合类中重载多个of方法原因
在java9 api的集合类中,有很多看似一样的重载of方法:那这里有个问题是为什么有了VarArgs(可变长参数)方法,还需要定义那么多重载的方法呢?查看官方的更新日志中可以发现有如下描述:http://openjdk.java.net/jeps/269These will include varargs overloads, so that there is no fixed limi...原创 2020-01-18 09:39:24 · 595 阅读 · 0 评论 -
idea使用groovy脚本自动生成数据库实体
import com.intellij.database.model.DasTableimport com.intellij.database.util.Caseimport com.intellij.database.util.DasUtilimport java.time.LocalDateimport java.time.LocalDateTimeimport java.util...原创 2019-12-25 14:15:58 · 1018 阅读 · 2 评论 -
spring多模块依赖时,被依赖模块的配置文件不生效的问题解决
maven项目中,现有一个web模块,对外提供http服务的,还有一个内部log模块是专门记录日志的,其中两个模块,都有一个application.yml配置文件,在配置的过程中,我遇到的问题是,web模块dependency log模块时,log模块的配置文件不生效,在晚上找到两个解决方法:方法一:把log模块中的application.yml文件名改成application...原创 2018-09-14 17:11:20 · 15613 阅读 · 2 评论 -
webpack中vue-cli开发跨域的问题
在使用webpack做开发调试的时候,因为需要使用nodejs服务器作为前端页面的服务器。如果后端使用的是Java(比如后台是Java代码部署在Tomcat服务器上),那前端页面发送http请求、保存cookie等都会存在跨域请求不了或者保存不了的问题还有个额外遇到的问题是在我后台使用Shiro框架来保存用户session的时候,通过路由跳转带另外的页面,然后再发送https请求的时候,sessi原创 2017-05-03 12:55:55 · 4213 阅读 · 1 评论 -
【一】、封装HttpClient和Json解析
封装HttpClient和Json解析(这里主要介绍封装的思想,具体的代码实现我会在github中给出)在实际开发中,我们可能需要调用第三方服务器的接口,这就要使用到HttpClient来发送请求,这里就基于HttpClient封装了比较方便的助手类,并且扩展封装了响应信息的格式化(目前只支持Json格式化,开发者可以自定义格式化方法)1.首先引入相关的依赖包:<!--https://mvnrep原创 2017-05-19 17:42:00 · 3059 阅读 · 0 评论 -
【二】、xml解析
上一篇中说到封装了HttpClient助手类和Json解析响应数据的封装。这节主要扩展响应数据解析类,封装出一个xml解析的实现类,适应微信第三方服务的接口。主要实现的效果,把xml格式的数据转成map集合的格式,里面可能包含一个map集合,也可能包含一个List集合。甚至会对xml中的标签内属性进行封装,加上attr_前缀进行保存。比如如下格式的xml数据:<?xml version="1.0"原创 2017-05-19 17:59:52 · 386 阅读 · 0 评论 -
在线客服技术详解(理论)
前言在线客服是一个比较流行的功能,网络上有很多提供在线客服服务的公司,但介绍在线客服技术的文章却很少。另外,网上有一些免费的在线客服框架,但大部分都只适用与小规模的在线客服服务,对于大规模应用(几万人甚至几十万人同时在线),却基本没有。本文将根据自己的一些实际经验,讲解在线客服的各项技术。这里讲的在线客服系统是基于Web环境,采用Java、JavaScript来实现的。aJax技术讲在线客服技术,就转载 2017-03-16 11:45:06 · 10066 阅读 · 0 评论 -
Java实现环形队列
这里我定义的环形队列为:列表中最后一个元素是指向列表中的第一个元素,而且里面提供一个next方法,可以不断获取下一个元素,在环形队列中也就是不断的转圈,实现方式如下:队列中提供的方法:public boolean add(E e):加入队列public E next():加入返回当前指针元素并把指针指向下一个元素public E prev():返回当前元素,并把指针指向上一个元素remove原创 2017-03-19 23:57:34 · 6243 阅读 · 0 评论 -
启动tomcat的时候一直卡在INFO: Deploying web application
在用centos7.+不熟tomcat项目的时候,启动时突然很奇怪的没报错,但是又访问不了网址,调用./shutdown.sh又结束不了,一直出现:java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method原创 2017-02-27 16:24:39 · 4176 阅读 · 0 评论 -
redis基本使用
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。以下是一些基本用法1.string添加获取set name "xiaoxiaohei"get name获取字串GETRANGE name 0 5获取所有(一个或多个)给定 key 的值。MGET name1 name2将值 value 关联到 key原创 2017-02-15 13:41:36 · 306 阅读 · 0 评论 -
Ubuntu下载安装tomcat
首先在windows上下载好tomcat压缩包传到Ubuntu服务器上:首先执行如下命令,解压成tar后缀:gunzip apache-tomcat-9.0.0.M4.tar.gz然后执行如下命令解压成功:tar xf apache-tomcat-9.0.0.M4.tar然后需要使用rm命令重命名一下,这里我重命名成/usr/tomcat9然原创 2016-04-22 13:45:30 · 1777 阅读 · 0 评论 -
Ubuntu配置JDK
转载自:http://www.codingyun.com/article/40.html配置环境变量1vi ~/.bashrc在最后面加上如下四句1234export JAVA_HOME=/usr/java/java7转载 2016-04-22 12:42:24 · 373 阅读 · 0 评论 -
zookeeper学习使用
zookeeper使用ls ls2 stat getls : 查看目录简要信息ls2 : 查看目录详情stat : 查看状态get : 获取节点数据create1.创建默认节点:create /tyilack nodeData2.创建临时节点(session关闭会自动删除,但不会立刻删除):create -e /tyilack nodeData3.创建节点序列(从0000000...原创 2019-04-21 15:27:04 · 270 阅读 · 0 评论 -
RabbitMQ报错:Error: unable to perform an operation on node 'rabbit@manage01'.
安装完成之后问题描述:1、打开http://ip:15672/#/ 后台管理页面会很慢2、springboot项目连接mq经常连接不上(偶尔可以连上)3、报错:AmqpTimeoutException: java.util.concurrent.TimeoutException4、java.net.SocketException: socket closed5、An unexpected...原创 2019-03-06 18:06:13 · 18821 阅读 · 2 评论 -
Mybatis报错解决: Your driver may not support getAutoCommit() or setAutoCommit()
报错信息:### Cause: org.apache.ibatis.transaction.TransactionException: Error configuring AutoCommit. Your driver may not support getAutoCommit() or setAutoCommit(). Requested setting: false. Cause: co...原创 2019-02-27 09:47:59 · 6287 阅读 · 1 评论 -
springboot打包包含lib文件夹的jar包
1、添加dependency<dependency> <groupId>com.tyilack</groupId> <artifactId>test</artifactId> <version>4.4</version> <scope>system&am原创 2019-02-14 14:24:06 · 6631 阅读 · 0 评论 -
spring boot 返回的json中去掉值为null的属性
直接上代码:import com.fasterxml.jackson.annotation.JsonInclude;import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.databind.JsonSerializer;import com.fasterxml.jackson.databin...原创 2019-02-27 15:38:52 · 3311 阅读 · 1 评论 -
groovy语法校验和沙盒(sandbox)运行
groovy语法校验主要解决脚本在编写时能实时检查语法是否正确,类似IDE的功能,沙盒运行主要解决系统若嵌入System.exit(0),会导致整个应用停掉的问题需要引用的依赖包如下:<!-- https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-all --><dependency> ...原创 2019-02-15 10:51:28 · 8967 阅读 · 0 评论 -
springboot prototype设置多例不起作用的解决办法
大多数人会直接这样写:@Bean@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)public TestBean getTestBean() { return new TestBean();}ConfigurableBeanFactory.SCOPE_PROTOTYPE的值就是prototype但是发现Auto...原创 2018-11-07 16:35:15 · 5354 阅读 · 1 评论 -
Java Builder模式的写法和lombok插件@Builder注解的支持
1. Builder模式简化get set方法,只需要定义一个静态公共的内部类即可public class User { private Integer id; private String name; private String address; private User() { } private User(User origin) {...原创 2018-09-25 10:18:08 · 10883 阅读 · 3 评论 -
Mybatis复杂sql写法:注解+内部类来实现
代码如下:@Mapper@Componentpublic interface DynamicDataMapper { /** * 根据名称查询动态数据结果 * @param dataConditionBO 筛选条件 * @return */ @SelectProvider(type = DynamicDataDaoProvide...原创 2018-09-13 09:40:18 · 3402 阅读 · 0 评论 -
Ubuntu安装jdk出现tar: Error is not recoverable: exiting now
在使用阿里云的服务器的时候,因为apt-get方法下载不到JDK,所以只能使用其他方法下载了,然后我上网找了一下,使用有wget方法下载的:wget -c http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz但是这条命令下载到的压缩包不能解压,所以我就去oracle的官网下载了一个安装包,但是下载之后原创 2016-04-22 12:30:39 · 17187 阅读 · 0 评论 -
使用Java注解实现拼接sql语句的功能
使用到的两个注解类:package dao;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * Creat原创 2016-05-14 16:18:42 · 6013 阅读 · 0 评论 -
Java格式化日期的三种方式
1)借助DateFormat类:public String toString(Date d) {SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);return sdf.format(d);}2)使用String.format()方法。String.format()的用法类似于C语言的prin转载 2014-08-29 21:00:46 · 9381 阅读 · 0 评论 -
遍历元素的效率问题
public static void main(String[] args) { int [] a={1,2,3,4,5,6,7}; //第一种:性能最高 int length=a.length; for(int i=0;i<length;i++){ System.out.println("性能最高:"+a[i]); } //第二种:性能次之 for(int i转载 2014-07-13 20:19:09 · 659 阅读 · 0 评论 -
关于聚焦的问题
package sdfg.drfg;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;原创 2014-06-20 12:52:28 · 850 阅读 · 0 评论 -
java按单词出现次数统计单词
import java.util.*;public class WordOccurrence implements Comparable { private String word; private int count; public WordOccurrence(String word,int count) { this.wor原创 2014-04-12 14:48:28 · 4988 阅读 · 0 评论 -
统计输入数字的个数
import java.util.*;public class Exercise22_7 { public static void main(String[] args) { Scanner in = new Scanner(System.in); TreeMap treeMap = new TreeMap(); int a原创 2014-04-12 13:41:06 · 1653 阅读 · 0 评论 -
泛型的内部原理
如果你还不知道泛型的使用请看这里 在JDK1.5中加入了泛型,能帮助我们简化代码,能解决不少问题,那JDK1.5中是如何实现的呢 ?JDK1.5中泛型的实现是擦拭法实现的,不同与c++中的泛型。说擦拭法可能有点难理解,所以从下边的角度理解一下:我们写一个程序 1 package com.jdk15; 2 3 import java.util.ArrayList;转载 2014-04-10 23:59:25 · 816 阅读 · 0 评论 -
画图和鼠标事件的结合 出现的一点小问题
我写了个用鼠标点击面板,在面板上原创 2014-05-09 12:32:48 · 1098 阅读 · 0 评论 -
一个关于在Eclipse中播放音频文件的问题
这个问题有点无语,目前还不知道这是什么原因,因为对Eclipse不熟悉原创 2014-05-08 15:15:58 · 7782 阅读 · 1 评论 -
String类创建细节
String是一个特殊的包装类数据。可以用: String str = new String("abc"); String str = "abc"; 两种的形式来创建,第一种是用new()来新建对象的,它会在存放于堆中。每调用一次就会创建一个新的对象。 而第二种是先在栈中创建一个对String类的对象引用变量str,然后查找栈中有没有存放"abc",如果没有,则将"abc"存放进栈转载 2014-05-06 16:31:20 · 749 阅读 · 0 评论 -
java中的一个画图小细节
有如下程序:原创 2014-05-02 19:47:35 · 1059 阅读 · 0 评论 -
关于paintComponent的小细节(Graphics 类)
题目:编写一个程序,使用箭头键绘制线段。对于这个原创 2014-05-02 20:32:07 · 2167 阅读 · 0 评论 -
JDK8 中Stack类的实现
/* * Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * *原创 2014-10-15 15:22:42 · 1015 阅读 · 0 评论 -
Java实现基数排序
import java.util.*;public class RadixSort { public static void main(String[] args) { int[] n = new int[100]; for(int i=0;i<n.length;i++) { n[i] = (int)(Math.random()*原创 2014-11-21 13:26:17 · 703 阅读 · 0 评论 -
java.lang.UnsupportedOperationException
当使用Arrays类中的asList方法创建一个List对象的实例时,如果直接调用List接口中的remove、add等方法会抛出Exception in thread "main" java.lang.UnsupportedOperationException 异常,如下程序:import java.util.Arrays;import java.util.List;public原创 2015-01-15 17:16:40 · 5550 阅读 · 0 评论