![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习技巧
文章平均质量分 69
hero.fei
这个作者很懒,什么都没留下…
展开
-
使用CountDownLatch踩坑记录
踩坑记录:在方法内部需要异步采用多线程处理不同的任务,待多线程都处理完成时在进行组装返回结果:情景是获取帖子信息时需要补充当前登录用户关注点赞以及发帖用户信息,需要多线程之下,所以在方法内部定义CountDownLatch waiter = new CountDownLatch(3);每次调用完成时都调用waiter.countDown();进行减1操作,总共三个逻辑调用三次,最后调用waiter.await();执行后续组装逻辑。但是执行过程中在线程调用时出现异常,导致waiter.c原创 2021-09-28 20:42:47 · 1111 阅读 · 0 评论 -
项目管理常用工具
confluence:Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。可以向操作ecxel和word一样操作简单安装:https://blog.csdn.net/q15150676766/article/details/78971363使用:https://...原创 2020-04-09 11:38:51 · 257 阅读 · 0 评论 -
java8中Collectors收集器的使用
Collectors 实现了接口 Collector<T,A,R> 收集器将strom结果进行收集T: 需要进行reduce操作的元素类型A:reduce操作的动态集合类型R:reduce操作的结果类型举例//将名字集合到listList<String> list = people.stream().map(Person::getName).collec...翻译 2019-04-27 16:32:06 · 984 阅读 · 0 评论 -
NLU分词中用到的HMM马尔科夫模型以及Viterbi算法
马尔可夫假设 随机过程中各个状态St的概率分布,只与它的前一个状态St-1有关,即P(St|S1,S2,S3,…,St-1) = P(St|St-1)。 比如,对于天气预报,硬性假定今天的气温只与昨天有关而和前天无关。当然这种假设未必适合所有的应用,但是至少对以前很多不好解决的问题给出了近似解。 状态集合是所有的词性,观测集合是分出来的所有匹配集合,转移矩阵A即在当...翻译 2021-01-27 13:25:23 · 153 阅读 · 0 评论 -
list和map的初始容量问题
List接口的大小可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。 ArrayList继承于List接口,除继承过来的方法外,还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量也自动增长。并未指定增...翻译 2019-05-25 10:57:02 · 1817 阅读 · 0 评论 -
date时间日期与java8中LocalDate使用
(1)Date:表示特定的瞬间,精确到毫秒(因为闰秒的原因,所以其实结果并不是特别的准确,但是如果要求不是特别严格,影响并没有很大。) 构造方法:Date()、Date(Long date) 常用方法: void setTime(Long time):根据毫秒数设置该日期对象,默认构造函数设置该日期对象为当前日期。 Long getTi...翻译 2019-06-14 16:19:35 · 1441 阅读 · 0 评论 -
工作中常用操作命令
windows杀死进程命令: 输入命令: netstat -aon|findstr "49157 taskkill /f /t /im 92019windows下杀死所有java进程 taskkill /F /IM java.exelinux查看端口占用情况:netstat -tunlp|grep "8080";ps -aux...原创 2019-06-14 16:21:30 · 117 阅读 · 0 评论 -
SpringBoot中application启动类注解与支持Scheduled定时任务
@SpringBootApplication @EnableAutoConfiguration @Configuration @ImportResource(locations = {"classpath:applicationContext.xml", "classpath:${dubbo.co...翻译 2019-06-26 20:31:05 · 444 阅读 · 0 评论 -
JVM内存分析工具jstack,jstat与jmap的使用
jstack用于JVM当前时刻的线程快照,又称threaddump文件,它是JVM当前每一条线程正在执行的堆栈信息的集合。生成线程快照的主要目的是为了定位线程出现长时间停顿的原因,如线程死锁、死循环、请求外部时长过长导致线程停顿的原因。通过jstack我们就可以知道哪些进程在后台做些什么?在等待什么资源等!其运行格式如下:1.jstack命令的语法格式: jstack<pid>。...翻译 2019-07-10 21:22:42 · 7670 阅读 · 1 评论 -
java常用排序算法(冒泡,插入,快速)等
快速排序:算法描述:对于一组给定的记录,通过一趟排序后,将原序列分为两部分,其中前一部分的所有记录均比后一部分的所有记录小,然后再依次对前后两部分的记录进行快速排序,递归该过程,直到序列中的所有记录均有序为止。快速排序的原理:选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。一次循环:从后往前比较,用基准值和最...翻译 2019-07-06 17:41:42 · 94 阅读 · 0 评论 -
利用BloomFilter过滤判断是否存在大集合中
当需要判断一个对象是否在千万级以上的集合时利用BloomFilter是非常有用的。Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Fi...翻译 2019-07-06 19:26:46 · 670 阅读 · 0 评论 -
java8中Optional的使用
Optional是Java8提供的为了解决null安全问题的一个API。善用Optional可以使我们代码中很多繁琐、丑陋的设计变得十分优雅。这篇文章是建立在你对Optional的用法有一定了解的基础上的,如果你还不太了解Optional,可以先去看看相关教程,或者查阅Java文档。使用Optional,我们就可以把下面这样的代码进行改写。public static String getNa...翻译 2019-04-27 11:43:39 · 150 阅读 · 0 评论 -
mysql两种引擎MyISAM与InnoDB的对比
mysql规则引擎的对比:MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代M...翻译 2019-04-26 18:28:22 · 289 阅读 · 0 评论 -
java中使用内存来存储数据案例
1.先创建一个对象作为存储对象public class UserCache{Map<String,User> idAndUsers = new HashMap<String , User> // 存取所有的用户 key为主键Id value为User对象List userIds = newArrayList<String>(); // 存取所有的用...原创 2019-03-09 19:56:57 · 952 阅读 · 0 评论 -
Java中Pair键值对的使用
应用: 当一个函数返回两个值并且两个值都有重要意义时我们一般会用Map的key和value来表达,但是这样的话就需要两个键值对,用Map映射去做处理时,此时的key相当于value的一个描述或者引用,而具体的信息都保存在value中,我们可以通过key去获取对应的value。但是当key和value都保存具体信息时,我们就需要用到Pair对了。Pair对也是键值对的形式。具体的实现:...翻译 2019-03-12 10:44:40 · 66787 阅读 · 0 评论 -
Java中利用Serializable和Externalizable序列化与反序列化的使用
1、Serializable序列化时不会调用默认的构造器,而Externalizable序列化时会调用默认构造器的,Serializable不需要自己实现序列化方法可以使用默认的序列化方法,而Externalizable需要自己实现序列化!!! 2、Serializable:一个对象想要被序列化,那么它的类就要实现 此接口,这个对象的所有属性(包括private...原创 2019-03-12 22:30:10 · 283 阅读 · 0 评论 -
Java中使用单例模式定义服务全局变量以及使用
在有些情况下一些变量需要在整个项目中都使用到,例如token的验证等都可以将用户信息放入全局配置变量中但是内容不要太大如果太大的话占用系统的资源导致系统变慢,请看下面案例: /*** 一些可以全局配置的变量,内部没有使用spring,只好借助这个类来传递* spring 初始化的时候给这个对象设置好适当的值*/public class GlobalSetting {...原创 2019-03-13 14:13:56 · 2774 阅读 · 0 评论 -
Voice中对netty的处理
@Configurationpublic class WebSocketConfiguration { @Autowired private NettyServerProperties properties; @Autowired private ConfigConfiguration config; /** * 启动netty服务 在生成b...原创 2019-03-29 14:40:11 · 157 阅读 · 0 评论 -
tomcat与netty以及Nio的使用
就IO而言:概念上有5中模型:blocking I/O,nonblocking I/O,I/O multiplexing (select and poll),signal driven I/O (SIGIO),asynchronous I/O (the POSIX aio_functions)。 tomcat就是针对http层的,所以我建议http还是选择tomcat(或者其他成熟的...翻译 2019-04-04 17:42:00 · 2359 阅读 · 0 评论 -
Mybatis自动生成工具的使用介绍
<generatorConfiguration> <!-- context元素用于指定生成一组对象的环境。targetRuntime:此属性用于指定生成的代码的运行时环境。MyBatis3:*这是默认值*--> <context id="test...翻译 2019-04-04 20:08:07 · 317 阅读 · 0 评论 -
http与websocket的对比
1. http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要有三次握手才能发送信息。 http链接分为短链接,长链接,短链接是每次请求都要三次握手才能发送自己的信息。即每一个request对应一个response。长链接是在一定的期限内保持链接。保持TCP连接不断开。客户端与服务器通信,必须要有客户端发起然后服务器返回结果。客户端是主动的,服务器是被动的。2. W...翻译 2019-04-01 20:38:49 · 973 阅读 · 0 评论 -
socket通讯与连接(三次握手四次挥手)
套接字(socket)概念套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。 建立socket连接建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为Clie...翻译 2019-04-02 12:18:19 · 581 阅读 · 0 评论 -
在SpringBoot中利用Tomcat创建一个websocket服务器
需要引入注解@EnableWebSocket先写一个config继承WebSocketConfigurer接口用来注册websocket的请求,通过registry.addHandler(socketHander, "/dds","/dds/test");将为dds或者的/dds/test请求交由socketHander来处理, 直接使用registry.addHa...翻译 2019-04-03 16:44:03 · 495 阅读 · 0 评论 -
api文档生成工具apiggs的使用
代码即文档Apiggs是一个非侵入的RestDoc文档生成工具。工具通过分析代码和注释,获取文档信息,生成RestDoc文档。首先需要在pom中添加apiggs的依赖依赖,<dependency>../bot-manage-domain/src/main/java</dependency>是实体对象所在路径,当没有dependency内容时不会读取到返回的对象导致没...原创 2019-04-25 20:05:38 · 3438 阅读 · 0 评论 -
系统需求说明
XXX文档管理系统需求说明原创 2016-10-11 19:25:32 · 704 阅读 · 0 评论