![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
白雪茫茫
这个作者很懒,什么都没留下…
展开
-
使用netty编写客户端,实现同步发送消息并接收返回结果
使用netty实现发送消息并返回结果功能原创 2022-09-06 10:25:12 · 9559 阅读 · 12 评论 -
ArrayBlockingQueue说明
ArrayBlockingQueue说明介绍示例介绍一个由数组支持的有界阻塞队列。此队列按 FIFO(先进先出)原则对元素进行排序。队列的头部 是在队列中存在时间最长的元素。队列的尾部 是在队列中存在时间最短的元素。新元素插入到队列的尾部,队列获取操作则是从队列头部开始获得元素。这是一个典型的“有界缓存区”,固定大小的数组在其中保持生产者插入的元素和使用者提取的元素。一旦创建了这样的缓存区,就不能再增加其容量。试图向已满队列中放入元素会导致操作受阻塞;试图从空队列中提取元素将导致类似阻塞。此类支持对原创 2021-04-16 16:48:14 · 273 阅读 · 0 评论 -
CallableAndFuture说明
CallableAndFuture说明介绍CallableFuture示例介绍Callable返回结果并且可能抛出异常的任务。实现者定义了一个不带任何参数的叫做 call 的方法。Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。但是 Runnable 不会返回结果,并且无法抛出经过检查的异常。Executors 类包含一些从其他普通形式转换成 Callable 类的实用方法。FutureFuture 表示异步计算的结果。它提供了检查计算是否完原创 2021-04-16 16:18:59 · 74 阅读 · 0 评论 -
CountDownLatch说明
CountDownLatch说明介绍示例介绍一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需要重置计数,请考虑使用 CyclicBarrier。CountDownLatch 是一个通用同步工具,它有很多用原创 2021-04-16 15:56:42 · 406 阅读 · 0 评论 -
cyclicBarrier说明
CyclicBarrier说明介绍示例介绍一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。CyclicBarrier 支持一个可选的 Runnable 命令,在一组线程中的最后一个线程到达之后(但在释放所有线程之前),该命令只在每个屏障点运行一次。若在继原创 2021-04-16 15:42:44 · 104 阅读 · 0 评论 -
semaphore说明
semaphore说明介绍示例介绍一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。示例Semaphore 通常用于限制可以访问某些资源(物理或逻辑的)的线程数目。例如,下面的类使用信号量控制对内容池的访问:package com.chen.concurre原创 2021-04-16 15:35:55 · 98 阅读 · 0 评论 -
用httclient发送请求
代码自己看,看不懂的私信我package com.dst.slms.app.utils;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import javax.net.ssl.HostnameVerifier;import javax.net.ssl.SSLContext;import javax.net.ssl.SSLSession;import org.原创 2021-02-04 16:36:49 · 242 阅读 · 1 评论 -
log4j.properties文件配置
log4j.properties配置文件详情log4j.rootLogger=DEBUG,stdout# MyBatis logging configuration...log4j.logger.org.mybatis.example.BlogMapper=TRACE# Console output...log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=Log4j.outlog4原创 2020-12-04 18:28:57 · 127 阅读 · 0 评论 -
使用@ResponseBody返回对象报对象转换异常
java.lang.IllegalArgumentException: No converter found for return value of type: class cn.njhq.wechat.util.WxResult at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMes...原创 2020-06-09 09:53:37 · 655 阅读 · 0 评论 -
ftp连接池实现
spring所需要的jar包我就不给你们了,你们自行搭建spring项目架构,或者使用springboot构建方便省事。我就直接上代码了。1.ftp.propertiesftp.host=127.0.0.1ftp.username=HQftp.password=HQftp.port=212.解析ftp.properties文件,首先创建一个FtpClientConfig类,用于存储ftp.properties中的数值,@PropertySource注解用于解析ftp.properties原创 2020-06-01 10:38:53 · 1232 阅读 · 2 评论 -
设计模式之工厂模式(数据库连接)
项目结构代码db.propertiesdriver=com.microsoft.sqlserver.jdbc.SQLServerDriverurl=jdbc:sqlserver://127.0.0.1:1433;databasename=weixinDB_ycusername=HQpassword=HQmaxConnect=50normalConnect=5Pool.javapackage com.chen.jdbc.sqlhelper;import jav..原创 2020-05-21 21:29:34 · 1039 阅读 · 0 评论 -
eclipse查看源码使用的快捷方式
ctr+shift+t:快速找到某个类 ctr+t:查看当前类的子类原创 2020-05-11 15:54:20 · 1100 阅读 · 0 评论 -
centos7安装jre8
从网上下载Linux版本的jre,下载地址:https://www.oracle.com/java/technologies/javase-jre8-downloads.html,找到jre-8u251-linux-x64.rpm然后下载 利用SecureFXPortable将jre-8u251-linux-x64.rpm上传到/usr/local目录中 通过mv命令修改文件名,mvjre-...原创 2020-04-22 12:25:04 · 713 阅读 · 0 评论 -
java算法面试题n个人(编号1~n)围成一圈从编号1的开始报数,从1报到数m,报到m的人出来,下一个人继续重新从1开始报数,编程求最后一个留下的人的编号
废话不多说,直接上代码//找编号 public static void find(int n,int m){ int[] array = new int[n]; int i = 0; int count = 0; int flag = 0; int temp = 0; temp = count = n; for(i = 0;i < ...原创 2019-12-25 20:56:50 · 4419 阅读 · 0 评论 -
单例设计模式
懒汉设计模式1.说明懒汉设计模式是需要获取对象时才创建,然后唯一2.代码package com.chen.singleton;/** * 单列懒汉模式 * @author chengming * */public class SingletomDemo1 { private static User user = null; //私有构造函数确保不能通过反射...原创 2019-09-30 16:52:45 · 98 阅读 · 0 评论 -
使用thread实现打印ABCABCABC
1.描述 最近在刷面试题,看到了一个很好玩的面试题,就是使用线程技术创建3个线程,分别打印A,B,C的线程,然后按顺序打印ABC,连续打印3次。我感觉这个面试题挺有意思的就花了点时间,写了一下,下面贴出代码,如果有地方错误的请大神多多指点。public class LockDemo3 { public static void main(String[] args) { ...原创 2019-09-28 20:40:16 · 282 阅读 · 0 评论 -
mybatis批量修改数据
批量修改主要有两种方式第一种,可以通过for循环一条一条修改数据,这样会影响效率,因此我不推荐,所以在这里我也不多说。第二种,通过修改mybatis中mapper.xml文件,如下:<update id="updateRoleMenus" parameterType="java.util.List"> <foreach collection="list"...原创 2018-11-17 16:41:06 · 11982 阅读 · 5 评论 -
mybatis中Could not find result map java.util.HashMap异常
今天第一次遇到这个问题,当项目一运行时,就会出现这个问题,当根据报错的信息查找你会发现写得没错啊,昨天还能运行,怎么今天就不行了。的确,你写的东西是没错,错的是你今天写得东西,你一定在mapper.xml文件中这样写了resultMap="java.util.HashMap",这样会映射到全局文件中,就是所有resultMap就是java.util.HashMap。所以出现这个问题,一定是你的ma...原创 2018-12-08 13:47:20 · 3068 阅读 · 0 评论 -
从spring中获取ServletContext
package com.njhq.bagl.task;import java.util.List;import java.util.Map;import javax.servlet.ServletContext;import org.springframework.context.annotation.Bean;import org.springframework.contex...原创 2019-01-08 09:59:44 · 1641 阅读 · 0 评论 -
SAXReader解析xml文件出现该错误:Error on line 1 of document : 在处理指令目标和数据之间需要有空格
String xmlStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +"<zfjl><row><tradeNo>201902261307031</tradeNo><sj>2019-02-26 13:07:03.4原创 2019-02-28 20:32:22 · 11855 阅读 · 1 评论 -
spring测试用例的编写
junit测试写法有两种第一种: package cn.njhq.shiroTest;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.cache.Cache;...原创 2019-03-07 13:52:37 · 2372 阅读 · 0 评论 -
字符串xml格式转List集合的那些坑
/** * xml字符串转list集合 * @param xml * @return */ public static List<Map<String,Object>> xmlToList(String xml){ if(null == xml || "".equals(xml)){ Logger.getLogger(XmlUtil.class...原创 2019-03-08 12:09:49 · 2583 阅读 · 0 评论 -
使用formdata存储图片和通过base64解析二进制转换而成的字符串,然后以字符串返回给前端
前言图片的存储和从数据库中取出并在前端显示,这个问题我搞了3天左右,终于有了一个解决方案。1.首先我是通过formdata将图片传到后台,后台自动自动将其转为字符串,然后将字符串转为二进制,因为我的数据库中的图片类型是image,所以是二进制类型的。2.从数据库取出二进制数据,并转为字符串。我遇到的问题就出现在这里,我直接将字符串给了前端,没有进行base64解码,所以前端不认识该数据...原创 2019-03-24 16:18:55 · 2579 阅读 · 0 评论 -
当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Logger' 中的标识列插入显式值
当使用mybatis插入数据时提示这个错误,原因是主键设置为自增长的,所以我们不需要再sql语句中再添加该主键字段了。这个是很简单的,当时却怎么也不知道原因,看了网上很多例子,都不是很好,所以我写了自己的想法,希望能帮助到你们。...原创 2019-04-12 14:49:40 · 353 阅读 · 1 评论 -
@PropertiesSource注解说明
@PropertySouce是spring3.1开始引入的基于java config的注解通过@PropertySource注解将properties配置文件中的值存储到Spring的Environment中,Environment接口提供方法去读取配置文件中的值,参数是properties文件中定义的key值。clearLshjTask.properties文件如下:jobs.s...原创 2019-06-25 10:35:47 · 4287 阅读 · 0 评论 -
@Scheduled使用
clearLshjTask.properties文件内容jobs.schedule = */5 * * * * ?applicationContext-quartz.xml文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/bean...原创 2019-06-25 10:50:55 · 2802 阅读 · 0 评论 -
eclipse反编译工具安装
打开eclipse中的help,然后选着Eclipse MarketPlace,然后再输入框中输入Decompiler,然后选着第二个如下图:选着Decompiler3.1.1然后就安装,下一步就可以了。最后打开window下的preference,找到Java,然后找到Decompiler这样就可以了。...原创 2019-07-17 10:36:37 · 212 阅读 · 0 评论 -
使用union进行多表查询
我在这边写了个存储过程,--procedure_pdxx存储过程用于查询还未处理的排队信息,统计各个业务未处理的数量IF EXISTS(SELECT * FROM sysobjects WHERE OBJECT_ID('procedure_pdxx') = ID AND type = 'P') DROP PROCEDURE procedure_pdxxGOPRINT 'CREA...原创 2019-08-13 14:13:49 · 1057 阅读 · 0 评论 -
@RequestBody,@RequestParam和@Param的区别
@Param@Param是mybatis中的注解,用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中 。请看下面的示例:public interface Mapper { @Select("select s_id id,s_name name,class_id classid from student...转载 2018-11-21 16:45:19 · 12457 阅读 · 0 评论