java
浮_雲
这个作者很懒,什么都没留下…
展开
-
Java之Excel导出工具类使用教程
java 导出excel原创 2022-10-24 11:24:33 · 4797 阅读 · 1 评论 -
WORD转html带base64图片,解决转换后乱码问题
package jxfgw.util;import org.apache.poi.hwpf.HWPFDocumentCore;import org.apache.poi.hwpf.converter.WordToHtmlConverter;import org.apache.poi.hwpf.converter.WordToHtmlUtils;import org.apache.poi.hwpf.usermodel.Picture;import org.w3c.dom.Document;imp.原创 2021-11-05 15:55:16 · 818 阅读 · 0 评论 -
java后台通过http请求下载文件
public void downLoad(HttpServletResponse response,String HTTP_URL, String filename) { BufferedInputStream bis = null; BufferedOutputStream bos = null; try { URL url = new URL(HTTP_URL); HttpURLConnecti.原创 2021-06-17 10:56:25 · 5041 阅读 · 0 评论 -
无法从 static 上下文引用非 static 字段
错误:无法从 static 上下文引用非 static 字段 ‘tagLocatorMapper’解决方式:@Componentpublic class StaticTagLocatorMapper { @Autowired private TagLocatorMapper tagLocatorMapper; public static TagLocatorMapper staticTagLocatorMapper; // 项目启动时把TagLocatorMapp原创 2020-12-14 15:02:53 · 3749 阅读 · 0 评论 -
java往文件中写入内容
public static void main(String[] args) { // TODO 自动生成的方法存根 String filename="c:/test.log"; try { FileOutputStream out =new FileOutputStream(filename,true); String str ="\r\n用新的构造方法追加内容"; out.writ..原创 2020-11-11 10:58:13 · 604 阅读 · 0 评论 -
解决HTTPClient长连接 60s会自动断开问题,springboot restful接口
配置一下springboot内置tomcat的KeepAliveTimeout属性即可package com.pxwl.devicetxtlog.config;import org.apache.catalina.connector.Connector;import org.apache.coyote.http11.Http11NioProtocol;import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCust.原创 2020-10-10 15:05:01 · 3556 阅读 · 0 评论 -
springboot整合mqtt发送与订阅
pom文件<dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-integration-stream</artifactId></dependency><dependency>...原创 2020-04-27 13:46:45 · 3942 阅读 · 4 评论 -
泛型中占位符T和?有什么区别?
public static void printColl(ArrayList<?> al){ Iterator<?> it = al.iterator(); while(it.hasNext()) { System.out.prin...原创 2019-03-14 09:44:07 · 555 阅读 · 0 评论 -
JAVA反射
什么是反射?反射就是动态加载对象,并对对象进行剖析。在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法,这种动态获取信息以及动态调用对象方法的功能成为Java反射机制。反射的基本操作创建一个类,用于演示反射的基本操作,代码如下:package fs;public class Student { private l...原创 2019-03-14 09:48:55 · 396 阅读 · 0 评论 -
Spring注解@Resource和@Autowired区别对比
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。1、共同点两者都可以写在字段和setter方法上。两者如果都写在字段上,那么就不需要再写setter方法。2、不同点(1)@Autowired@Autowire...原创 2019-03-14 09:57:13 · 135 阅读 · 0 评论 -
spring AOP
关注点分离:不同问题交给不同点去解决面向切面编程AOP正是此技术的体现通用化功能代码的实现,对应的就是所谓的切面(Aspect )业务功能代码和切面代码分开后,架构将变得高内聚低耦合确保功能的完整性:切面最终需要被合并到业务中( Weave )AOP的主要名词概念Aspect:通用功能的代码实现Target :被织入Aspect的对象Join Point :可以作为...原创 2019-03-14 10:11:08 · 121 阅读 · 0 评论 -
java内存模型JMM
java内存模型JMM jmm本身是一种抽象概念,实际并不存在,它描述的是一组规则或规范,通过这组规则或规范定义了程序中各个变量(包括实例字段、静态字段、构成数组对象的元素)的访问方式。JMM中主内存 1.存储java实例对象 2.包括成员变量、类信息、常量、静态变量等 3.属于数据共享的区域,多线程并发操作时,会引发线程安全问题JMM中的工作内存...原创 2019-03-11 16:11:05 · 299 阅读 · 0 评论 -
spring IOC
spring IOC:即控制反转上层建筑依赖下层建筑,如果要修改下层建筑,那么依赖其所有的上层建筑都需要修改,这种模式是不可维护的依赖注入:含义:把底层类作为参数传递给上层类,实现上层对下层的"控制"依赖注入的方式1.Setter2.Interface3.Constructor4.AnnotationIOC容器的优势1.避免在各处使用new来创建类,并...原创 2019-03-11 22:48:29 · 115 阅读 · 0 评论 -
java集合
Arraylist 与 LinkedList 异同1. 是否保证线程安全:ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全; 2. 底层数据结构:Arraylist 底层使用的是Object数组;LinkedList 底层使用的是双向链表数据结构(JDK1.6之前为循环链表,JDK1.7取消了循环。注意双向链表和双向循环链表的区别:); 详细可阅读JDK1...原创 2019-03-18 17:04:36 · 123 阅读 · 0 评论 -
使用 SpringBoot+Dubbo 搭建一个简单分布式服务
使用 SpringBoot+Dubbo 搭建一个简单分布式服务实战之前,先来看几个重要的概念开始实战之前,我们先来简单的了解一下这样几个概念:Dubbo、RPC、分布式、由于本文的目的是带大家使用SpringBoot+Dubbo 搭建一个简单的分布式服务,所以这些概念我只会简单给大家普及一下,不会做深入探究。什么是分布式?分布式或者说 SOA 分布式重要的就是面向服务,说简单的分布...原创 2019-03-25 21:49:11 · 215 阅读 · 0 评论 -
synchronized和ReentrantLock的区别
synchronized和ReentrantLock的区别ReentrantLock (再入锁)位于java.util.concurrent.locks包和CountDownLatch, FutureTask, Semaphore一样基于AQS实理能够实现比synchronized更细粒度的控制,如控制fairness调用lock()之后,必须调用unlock释放锁性能未必...原创 2019-04-04 13:15:47 · 170 阅读 · 0 评论 -
java调用C/C++方法 JNA
jnaerator-0.12-shaded工具的使用1.在当前目录下运行jnaerator-0.12-shaded.jar,需要java环境,可以直接双击运行,如果双击运行不成功则使用命令:java -jar .\jnaerator-0.12-shaded.jar2.运行之后进入启动页面3.操作完之后会在右侧生成java代码,简单的案例可以直接将代码复制出来使用,遇到一些比较复...原创 2019-04-28 15:06:01 · 1860 阅读 · 0 评论 -
fastjson使用教程
测试类:package jsonTest;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;im...原创 2019-06-24 10:33:49 · 390 阅读 · 0 评论 -
国内镜像网站
JDK下载 华为的:https://repo.huaweicloud.com/java/jdk/ 搜狐开源镜像站:http://mirrors.sohu.com 网易开源镜像站:http://mirrors.163.com/ 阿里云开源镜像站:http://mirrors.aliyun.com 清华大学镜像站:http://mirrors.ustc.edu.cn/ 中...原创 2019-09-18 09:00:00 · 3955 阅读 · 0 评论 -
mongodb工具类
MongodbUtils .java工具类 import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.domain.Sort;import org.springframework.data.domain.Sort.Direction;import org.s...原创 2019-01-14 16:56:29 · 729 阅读 · 0 评论 -
多线程
为什么用线程池有时候系统需要处理非常多的执行时间很短的请求,如果每一个请求开启一个新线程的话,系统就会不断的进行线程的创建与销毁,有时花在线程的创建与销毁的时间比真正线程执行的时间要长。而且当线程数量太多时,线程不一定受得了使用线程池主要是解决以下几个问题:通过用线程池中的线程,来减少每个线程创建和销毁的性能开销对线程进行一些维护管理,比如定是开始、周期执行,并发数控制等等...原创 2019-03-03 22:50:57 · 168 阅读 · 0 评论 -
java内存溢出场景
内存溢出场景1.jvm栈溢出栈里面存的是一些基本类型和方法的引用,如果溢出,说明基本类型空间不够用了public class Test { private int n=1; public void addn(){ n++; addn();//无线循环调用其本身,会导致栈溢出异常,Exception in thread "main" ja...原创 2019-02-26 16:54:35 · 412 阅读 · 0 评论 -
MyBatis-Plus的代码生成器
.pom依赖文件<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>...原创 2019-01-23 11:30:28 · 643 阅读 · 0 评论 -
springboot mongodb 多条件分页查询
public Page<Recorded> getRecordeds(Integer page, Integer size, Recorded recorded) { if (page<1){ page=1; } Sort sort = new Sort(Sort.Direction.DESC,"c...原创 2019-01-16 14:45:00 · 2514 阅读 · 4 评论 -
MyBatis-Plus分页插件使用,自带分页及xml分页的使用
项目结构配置文件import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;import org.mybatis.spring.annotation.MapperScan;import org.springframework.context.annotation.Bean;import org....原创 2019-01-31 17:03:39 · 50862 阅读 · 8 评论 -
MybatisPlus3.X查询方法
User us = new User(); us.setId((long)1); //通过Id查询 User list = userMapper.selectById(us); System.out.println("通过Id查询selectById:"+JSON.toJSONString(list)); ...原创 2019-01-24 17:12:57 · 2681 阅读 · 1 评论 -
MongoDB动态条件之分页查询
转自https://www.cnblogs.com/wslook/p/9275861.html1. 继承MongoRepositorypublic interface StudentRepository extends MongoRepository<Student, String> { }2. 代码实现使用ExampleMatcher匹配器-----只支持...转载 2019-01-11 16:19:40 · 1322 阅读 · 0 评论 -
mongodb增删改查
引入jar包pom.xml配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> ...原创 2019-01-11 16:04:55 · 104 阅读 · 0 评论 -
Springboot实现quartz循环定时任务
参考:https://blog.csdn.net/zahngjialiang/article/details/78690932https://www.ibm.com/developerworks/cn/java/j-lo-taskschedule/需要引入的依赖:<dependency> <groupId>org.quartz-scheduler&l...转载 2018-11-19 17:23:03 · 701 阅读 · 0 评论 -
决Linux操作系统下AES解密失败的问题
javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption. at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:...原创 2018-11-13 15:58:30 · 3186 阅读 · 0 评论 -
IDEA中@Data注解GET和SET不起作用
解决方式,如图搜索一下,然后安装这个插件就可以了 最后应用并重启就可以了原创 2019-01-23 16:48:20 · 4868 阅读 · 0 评论 -
MyBatis-Plus CURD示例及条件构造器示例
数据库 DROP TABLE IF EXISTS user;DROP TABLE IF EXISTS role;CREATE TABLE user( id BIGINT (20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT (11...原创 2019-01-30 10:05:26 · 766 阅读 · 2 评论 -
单例模式
什么是Singleton?singleton:在java中指的是单例设计模式,他是软件开发常用的设计模式之一单:唯一例:实例单例设计模式:即某个类在整个系统中只能有一个实例对象可获取和使用的代码模式 要点一是某个类只有一个实例: 构造器私有化二是它必须自行创建这个实例: 含有一个该类的静态变量来保存这个实例:三是它必须自行向整个系统提供这个实例:...原创 2019-02-21 17:51:43 · 185 阅读 · 0 评论 -
jvm垃圾回收
GC发生在JVM那个部分,有几种GC,他们的算法是什么?GC发生在JVM那个部分?发生在堆(heep)里面。GC是什么?分代收集算法次数上频繁收集Young区 minor GC次数上较少收集Old区 full GC基本不动 Perm区GC算法总体概述1.引用计数法(较难处理循环引用)2.复制算法年轻代使用的minor GC采用的是复制算法(Copy...原创 2019-02-25 11:38:40 · 123 阅读 · 0 评论 -
Mysql什么时候建索引
那些情况需要建索引1.主键自动创建唯一索引2.频繁作为查询条件的字段应该创建索引3.查询中与其他表关联的字段,外键关系建立索引4.单键/组合索引的问题,组合索引性价比更高5.查询中排序的字段,排序字段若通过索引去访问将大大提高排序速度6.查询中统计或分组字段那些情况下不需要建索引1.表记录太少2.经常增删改的表或者字段3.where条件里用不到的字段不需要创...原创 2019-02-25 10:24:59 · 321 阅读 · 0 评论 -
redis持久化
redis持久化-RDB在指定时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot,它恢复时是将快照文件直接读到内存里。1.备份是如何执行的redis会单独创建一个(fork)子进程来持久化,先将数据写到一个临时文件中,待持久化过程结束了,再用这个临时文件去替换上一次持久化好的文件,整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能,如果需要进行大规模的数...原创 2019-02-25 10:08:24 · 122 阅读 · 0 评论 -
spring bean作用域之间有什么区别
在spring中可以在bean元素的scope属性里设置bean的作用域,以决定这个bean是单实例的还是多实例的。 默认情况下,spring只为每一个在ioc容器中声明的bean创建唯一一个实例,整个ioc容器内都能共享该实例;所有后续的getBean()调用和bean引用都将返回这个唯一的bean实例。该作用域称为Singleton,他是所有bean默认作用域。 ...原创 2019-02-24 18:40:59 · 948 阅读 · 0 评论 -
递归与迭代
public class Test { public static void main(String[] args) throws IllegalAccessException { int sum =f(0); System.out.print(sum); } public static int f(int n) th...原创 2019-02-24 18:10:02 · 153 阅读 · 0 评论 -
方法参数传递机制
方法参数传递机制一、形参是基本数据类型传递数据值二、实参是引用类型传递地址值特殊的类型:String、包装类等对象不可变性原创 2019-02-22 17:29:27 · 178 阅读 · 0 评论 -
类初始化和实例初始化
一、类初始化过程1.一个类要创建实例需先加载并初始化该类(1)、main方法下的类需要先加载和初始化 (2)、一个子类初始化需要先初始化他的父类(3)、一个类初始化就是执行<clinit> ()方法 说明: <clinit> ()方法由静态变量显示赋值代码和静态代码块组成,静态变量显示赋值代码和静态代码块从上到下顺序执行,&l...原创 2019-02-22 16:38:37 · 2124 阅读 · 0 评论