Java
superbeyone
士,不可以不弘毅,任重而道远!
展开
-
Java 获取微信小程序信息并入库
文章目录WxUserResultControllerServiceServiceImplUtilMapperXMLWxUser@Data@ToStringpublic class WxUser implements Serializable { private static final long serialVersionUID = -6923218526268543062L; private Integer id; private String phoneNumb原创 2021-02-26 16:42:22 · 474 阅读 · 1 评论 -
Java 获取类路径
Java 获取类路径String path = Thread.currentThread().getContextClassLoader().getResource("").getPath()原创 2020-09-22 15:30:38 · 167 阅读 · 0 评论 -
生产环境出现 CPU 占用过高,不用看日志也能定位
文章目录先用top命令找出CPU占比最高的进程进一步定位定位到具体的线程或者代码将线程ID转换为16进制格式先用top命令找出CPU占比最高的进程进一步定位jps -l或者ps -ef|grep java|grep -v grep定位到具体的线程或者代码ps -mp 进程id -o THREAD,tid,time如:ps -mp 25754 -o THREAD,tid,ti...原创 2020-04-12 15:12:08 · 543 阅读 · 0 评论 -
从数据库中查询数据并导出 ShapeFile 文件通用工具类封装
pom依赖部分pom依赖具体导出操作工具类import com.alibaba.fastjson.JSONArray;import com.vividsolutions.jts.geom.*;import com.vividsolutions.jts.io.WKTReader;import org.apache.commons.lang3.StringUtils;import or...原创 2020-03-15 12:39:42 · 1413 阅读 · 5 评论 -
Spring Boot Web配置项
Spring Boot Web配置项@Configuration@ComponentScan(basePackageClasses = TermServiceApplication.class)public class WebConfiguration extends WebMvcConfigurationSupport { //静态资源 @Override prote...原创 2019-12-19 17:11:53 · 172 阅读 · 0 评论 -
Java 线程池的正确创建方式
文章目录Java 线程池的正确创建方式Java 线程池的正确创建方式@Componentpublic class TdtExecutor { public ExecutorService getExecutor(String threadPrefix, int threadCount) { return getThreadExecutor(threadPrefix,...原创 2019-12-19 17:06:07 · 244 阅读 · 0 评论 -
Java 自动识别文本文件字符编码工具类
Java 自动识别文本文件字符编码工具类测试用例2/** * @author Mr.superbeyone * @project cs-sys * @className ChineseTest * @description * @date 2019-11-06 17:36 **/public class EncordingTest { @Test publ...原创 2019-11-12 19:39:03 · 633 阅读 · 2 评论 -
文件编码包装类
/** * version: 1.1 * - changed BOM recognition ordering (longer boms first) * http://www.unicode.org/unicode/faq/utf_bom.html * BOMs: * 00 00 FE FF = UTF-32, big-endian * FF FE 00 00 = UT...原创 2019-11-12 19:07:11 · 280 阅读 · 0 评论 -
校验中文是否乱码
public class ChineseTest { @Test public void testChinese() { String str = "dfgfdg四川省文化和旅游厅aaaf";//false// str = "dfgfdg�Ĵ�ʡ֪ʶ��Ȩ����ٽ�����厅aaaf";//true boolean result ...原创 2019-11-07 09:01:31 · 12986 阅读 · 0 评论 -
免解压读取zip/tar包内的文件
文章目录免解压读取zip/tar包内的文件1. 将zip包里面的文件数据封装成List统一返回2. 处理tar包免解压读取zip/tar包内的文件1. 将zip包里面的文件数据封装成List统一返回import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.BufferedInputStream;imp...原创 2019-04-22 10:02:36 · 2256 阅读 · 0 评论 -
Java读取Excel文件(支持xls,xlsx,多sheet)
文章目录Java读取Excel文件(支持xls,xlsx,多sheet)1. pom.xml依赖2. 工具类封装3. 使用示例说明Java读取Excel文件(支持xls,xlsx,多sheet)1. pom.xml依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId&g...原创 2019-04-09 19:15:12 · 2821 阅读 · 0 评论 -
Redis_01_之单机版安装及生产环境启动方案配置
文章目录单机版Redis安装及生产环境启动方案配置1. 下载2. 解压 安装3. redis的生产环境启动方案4. redis cli的使用5. redis技术划分单机版Redis安装及生产环境启动方案配置1. 下载使用命令下载rediswget http://download.redis.io/releases/redis-5.0.3.tar.gz使用命令下载tclwget htt...原创 2019-02-20 16:32:07 · 484 阅读 · 3 评论 -
Maven 分模块、分工程管理
Maven 分模块、分工程管理在总的web的pom里面,加入要合并的war内容,示例如下:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.4</...原创 2019-02-20 09:50:12 · 174 阅读 · 0 评论 -
Spring Boot与Mongo组合分页查询处理亿级级别数据
文章目录Mongo分页查询上亿条数据0. 项目实施场景1. 为什么不用`skip`和`limit`组合方式:2. 主键`_id`查询方式:3. 代码实现:3.0 目录结构3.1 application.yml3.2 build.gradle3.3 启动入口类3.4 Config3.5 POJO3.6 Dao3.7 Service3.8 Controller4. 备注4.1 Mongo数据库连接池...原创 2019-01-14 17:50:40 · 7339 阅读 · 1 评论 -
Maven/Gradle配置国内镜像源
MavenC:\Users\用户名\.m2\settings.xml&amp;lt;!--mirrors添加--&amp;gt;&amp;lt;mirror&amp;gt; &amp;lt;id&amp;gt;alimaven&amp;lt;/id&amp;gt; &amp;lt;name&amp;gt;aliyun mav原创 2019-01-08 10:46:27 · 5464 阅读 · 0 评论 -
文件解压缩工具类(适用zip,tar,tar.gz)
之前写过的一篇关于解压缩的文章:Java解压缩zip文件工具类(支持zip文件夹下多级目录结构)pom.xml<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <ver...原创 2019-04-02 19:14:48 · 1208 阅读 · 0 评论 -
JDK与Netty之间Future的区别
文章目录JDK与Netty之间Feature的区别JDK与Netty之间Feature的区别JDK所提供的Feature只能通过手工的方式检查执行结果,而这个操作时会阻塞的;Netty则对ChannelFuture进行了增强,通过ChannelFutureListener以回调的方式来获取执行结果,去除了手工检查阻塞的操作。值得注意的是:ChannelFutureListene...原创 2019-01-03 11:03:12 · 572 阅读 · 0 评论 -
Netty之EventLoop,EventLoopGroup,Channel
文章目录Netty之EventLoop,EventLoopGroup,ChannelNetty之EventLoop,EventLoopGroup,Channel一個EventLoopGroup當中會包含一個或多個EventLoop.一個EventLoop在它的整個生命週期當中都只會與唯一一個Thread進行綁定.所有由EventLoop所處理的各種I/O事件都將在它所關聯的那個Thre...原创 2019-01-03 10:20:42 · 421 阅读 · 0 评论 -
精妙算法
文章目录精妙算法1. 判斷一個數是不是2的指數精妙算法1. 判斷一個數是不是2的指數private static boolean isPowerOfTwo(int val){ return (val & -val) == val;}原创 2019-09-04 16:03:22 · 241 阅读 · 0 评论 -
Netty之处理器
文章目录Netty之处理器Netty处理器重要概念:Netty之处理器Netty处理器重要概念:Netty的处理器可以分为两类:入站处理器与出站处理器入站处理器的顶层是ChannelInboundHandler,出站处理器的顶层是ChannelOutboundHandler;数据处理时常用的各种编解码器本质上都是处理器;编解码器:无论我们向网络中写入的数据是什么类型(int,ch...原创 2019-01-05 21:25:36 · 635 阅读 · 0 评论 -
Netty之AtomicIntegerFieldUploader
文章目录Netty之AtomicIntegerFieldUploader1. AtomicIntegerFieldUploader要点总结:2. volatile:Netty之AtomicIntegerFieldUploader1. AtomicIntegerFieldUploader要点总结:更新器更新的必须是int类型变量,不能是其包装类型;更新器更新的必须是volatile类型变...原创 2019-01-05 17:30:48 · 128 阅读 · 0 评论 -
JDK的ByteBuffer与Netty的ByteBuf之间的差异对比
文章目录JDK的`ByteBuffer`与Netty的`ByteBuf`之间的差异对比:JDK的`ByteBuffer`的缺点:Netty的`ByteBuf`的优点:JDK的ByteBuffer与Netty的ByteBuf之间的差异对比:Netty的ByteBuf采用了读写索引分离的策略(readerIndex与writerIndex),一个初始化(里面尚未有任何数据)的ByteBuf的r...原创 2019-01-04 13:30:20 · 811 阅读 · 0 评论 -
Netty之ByteBuf
文章目录Netty之ByteBuf1. Netty ByteBuf所提供的3种缓冲区类型:2. 总结:`Heap Buffer`(堆缓冲区)`Direct Buffer`(直接缓冲区)`composite buffer`(复合缓冲区)3. 重点:4. JDK的`ByteBuffer`与Netty的`ByteBuf`之间的差异对比:Netty之ByteBuf1. Netty ByteBuf所提...原创 2019-01-04 13:04:32 · 1320 阅读 · 0 评论 -
Java NIO ByteBuffer
文章目录NIO ByteBuffer1. 使用NIO进行文件读取所涉及的步骤:2. `mark`,`position`,`limit`,`capacity` 四者之间的关系3. flip()方法4. clear()方法5. compact()方法NIO ByteBuffer1. 使用NIO进行文件读取所涉及的步骤:从FileInputStream对象获取到Channel对象创建Buff...原创 2019-01-03 19:35:01 · 227 阅读 · 0 评论 -
Java使用PUT提交请求错误码400及415解决方案
文章目录0. 初始状态1. 请求报错 `400` Required int parameter 'id' is not present2. `415` 不支持 'application/x-www-form-urlencoded;charset=UTF-83. `400` Unrecognized token 'id': was expecting ('true', 'false' or 'nul...原创 2019-04-22 15:08:55 · 6285 阅读 · 2 评论 -
Spring Boot 配置热部署
文章目录Spring Boot 配置热部署1. 使用 `Jrebel`2. 使用 `spring-boot-devtools`2.1 pom依赖2.2 IDEA 配置Spring Boot 配置热部署1. 使用 JrebelJrebel安装及激活方式2. 使用 spring-boot-devtools2.1 pom依赖<dependency> <groupI...原创 2019-04-24 16:13:07 · 164 阅读 · 0 评论 -
Mybatis中进行批量更新
Mybatis中进行批量更新Mybatis中进行批量更新Sql 批量更新一条sql语句来批量更新所有数据,下面直接看一下在mybatis中通常是怎么写的(去掉mybatis语法就是原生的sql语句了)。<update id="updateBatch" parameterType="java.util.List"> update table_name set ...转载 2019-05-06 12:43:47 · 22735 阅读 · 0 评论 -
Java 不生成 Excel 文件直接输出流
Java 不生成 Excel 文件直接输出流<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version></dependency>&l...原创 2019-09-11 17:00:37 · 1841 阅读 · 0 评论 -
Spring Boot Restful 请求方式 PUT 请求报 400 错误
添加支持PUT请求@Configurationpublic class ServletContextConfig extends WebMvcConfigurationSupport { @Bean public FormContentFilter httpPutFormContentFilter() { return new FormContentFilter(...原创 2019-08-12 19:27:17 · 2481 阅读 · 0 评论 -
@PathVariable 路径参数小数点后半部分数据丢失
使用Restful请求方式 , @PathVariable 路径参数小数点后半部分数据丢失解决方案@GetMapping("/userDetail/{username:.+}")原创 2019-08-12 19:21:57 · 623 阅读 · 0 评论 -
IDEA中Service注入Mapper,Could not autowire. No beans of 'XXX' type found
IDEA中Service注入Mapper,Could not autowire. No beans of 'XXX' type foundCould not autowire. No beans of ‘XXX’ type found即便不影响正常使用,但看着无比别扭解决方案:添加@Repository注解效果:...原创 2019-07-30 09:42:26 · 521 阅读 · 0 评论 -
java根据Json生成shpfile文件
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <geotools.version>18.4</geotools.version></properties><repositories> <...原创 2019-07-18 18:42:20 · 3420 阅读 · 30 评论 -
Excel读取工具类
Excel读取工具类同时支持xls与xlsx后缀<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version></dependency&g...原创 2019-07-18 16:37:19 · 351 阅读 · 0 评论 -
Spring Boot 自定义统一异常处理
Spring Boot 自定义统一异常处理public class CommonException extends RuntimeException { private static final long serialVersionUID = -3032821876599556414L; private Integer code; private String msg;...原创 2019-06-14 09:02:10 · 299 阅读 · 0 评论 -
Java验证Mongo登录信息的合法性
import com.mongodb.MongoClient;import com.mongodb.MongoClientOptions;import com.mongodb.MongoClientURI;import com.mongodb.client.MongoIterable;import org.apache.commons.lang3.StringUtils;public ...原创 2019-06-13 16:45:08 · 477 阅读 · 0 评论 -
设计模式_15_装饰者模式
文章目录装饰者模式1. 分析2. 示例2.1 未使用装饰者模式2.2 使用装饰者模式3. 源码装饰者模式1. 分析定义在不改变原有对象的基础之上,将功能附加到对象上提供了比继承更有弹性的替代方案(扩展原有对象功能)类型: 结构型适用场景扩展一个类的功能或给一个类添加附加职责动态的给一个对象添加功能,这些功能可以再动态的撤销优点继承的有力补充,比继承灵活,不改...原创 2019-05-31 13:58:32 · 193 阅读 · 0 评论 -
FTP工具类
FTP工具类0. pom<dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.6</version></dependency>1. 文件上传...原创 2019-05-27 17:31:44 · 901 阅读 · 0 评论 -
Java操作MongoDB在集群与非集群情况下建库
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId></dependency> /*** 添加Mongo数据库** @par...原创 2019-06-12 09:13:33 · 302 阅读 · 0 评论 -
设计模式_13_原型模式
文章目录原型模式1. 分析原型模式1. 分析定义:指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象不需要知道任何创建的细节,不调用构造函数类型:创建型适用场景:类初始化消耗较多资源new 产生的一个对象需要比较繁琐的过程(数据准备、访问权限等)构造函数比较复杂循环体中产生大量对象时优点:原型模式性能比直接new一个对象性能高简化创建过程缺点...原创 2019-05-27 10:35:39 · 112 阅读 · 0 评论 -
Spring Boot 配置Druid数据库连接池
文章目录Spring Boot 配置Druid数据库连接池1. pom.xml2. application.ymlSpring Boot 配置Druid数据库连接池1. pom.xml<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifa...原创 2019-05-10 16:12:42 · 300 阅读 · 0 评论