maven常用操作 将工作中用到的maven操作命令记录在这里。将根目录下生成的target文件移除mvn clean跳过测试,将项目本身编译并打包到本地仓库mvn install -Dmaven.test.skip=true打包上传mvn clean deploy -DskipTests --settings /Users/lingxi/apache-maven-3.6.3/conf/settings_hy.xml -pl routing-cost-client -am强制下载未下载完
Idea与maven相关问题吐血整理 Idea与maven相关问题吐血整理多模块找不到类Jar包未下载完全其它可能的方式多模块找不到类问题体现在多模块项目中找不到本模块或其他模块的类时解决方案mvn install parent模块或相关子模块说明作用是把这些模块加入到本地仓库后提供给其他模块使用Jar包未下载完全问题体现提示Cannot resolve XXXX…然后去本地仓库查看发现有包,但包里只有.lastUpdate文件,说明下载失败。解决方案mvn -U idea:idea说明强制idea继续下载。
Java的SPI机制 小白经历了人生中最虐的三个月后成功转正了,回想起来刚入职的时候连枚举都看的吃力真是菜的扣jio,无数次怀疑自己有没有选错行,虽然现在也没有答案,也不知未来可以干多久,但是大大说我们要干一行爱一行,至少我还不厌恶写代码,那就慢慢培养感情吧~自定义SPI看这个SPI机制其实看的蛮久的,现在也不能说完全懂。以下是自定义的SPI代码的类图:每个类的作用:1、shoutService接口,是服务抽象的接口;2、Cat、Dog、Mow三个具体的实现;3、BaseThirdService,只有一个getCo
Reactor模式分类 目前存在的线程模型有:传统阻塞I/O服务模型Reactor模式根据Reactor的数量和处理资源池线程的数量不同,有3种典型的实现:单Reactor单线程单Reactor多线程主从Reactor多线程先描述一下传统阻塞I/O模型以示区别。传统阻塞I/O模型原理图其中,蓝色框表示线程;黄色框表示对象;绿色框表示方法。模型特点1)一个客户端对应一个线程,每个线程完成数据的输入、业务处理和数据返回;2)当并发数很大时会创建大量线程,占用很大的系统资源;3)创建连接后,
NIO之简易群聊系统 基于NIO编写简易的群聊系统服务器端接收客户端的连接接收客户端发送的消息并转发给其他所有客户端public class ChatServer { private Selector selector; private ServerSocketChannel serverSocketChannel; private static final int port = 8888; public ChatServer() { try {
NIO之简易服务器与客户端 采用NIO的方式写一个简易的服务器与客户端。服务器public class NIOServer { public static void main(String[] args) throws IOException { ServerSocketChannel ssc = ServerSocketChannel.open(); Selector selector = Selector.open(); // 将ServerSocketChannel绑定
NIO之channel和buffer的运用 例1:将hello,world!输出到文件a.txt中public class NIOFilechannel { public static void main(String[] args) throws IOException { // 创建一个输出流 FileOutputStream fos = new FileOutputStream("C:\\Users\\whatsoooever\\Desktop\\a.txt"); // 获取输出流的c
JDBC使用 渣渣用惯了框架回头来学习JDBC了,毕竟还是要知其然知其所以然。本文目录JDBC介绍配置Mysql-connector的Jar包1)下载Jar包2)集成到IDEAJDBC运用1. 数据库连接,statement语句和preparedresultset结果集的使用batch批处理事务CLOB文本大对象使用封装JDBCJDBC介绍JDBC是以统一方式访问数据库的API,无论实际使用的是Mysql数据库还是Oracle数据库,加入的数据库Jar包后,用户只需操作统一的JDBC即可。配置Mysql-con
运行外部Java程序 如何运行外部Java文件,有三种方式。首先先写一个java文件到c盘中:public class Demo { public static void main(String[] args) throws IOException, ClassNotFoundException, NoSuchMethodException, InvocationTargetException, Illeg...
自定义注解 一般使用自定义注解有三大步骤:首先自定义注解;在代码中使用自定义的注解;通过注解获取信息。自定义注解的过程中一般会使用到@Target和@Retention,其中:@Retention的作用是描述注解的生命周期取值作用SOURCE在源文件中有效(即在源文件中保留)CLASS在class文件中有效(即在class文件中保留)RUNTIME在运...
XML解析 手写一个简单的基于SAX的XML解析器。假设在包servlet下有一个名为:web.xml的文件如下:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><web-app> <servlet> <servlet-name>login</servlet-nam...
聊天室极简实现 从今天起学习新知识了,再也不是复习老知识了。。聊天室极简实现,要求:有群聊和私聊两种模式;当用户进入聊天室时,自己的视角显示“欢迎您进入聊天室”,聊天室其他成员显示“XXX进入聊天室”;私聊模式中规定信息格式:@XXX:msg。为了好实现。码代码前分析:客户端需要开辟两个线程分别接收消息和发送消息;服务器端需要不断监听端口是否被新的客户端连接,若有新客户端连接则开辟新线程负责该...
@Async注解 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后,就已经内置了@Async来完美解决这个问题。@Async注解使用条件:@Async注解一般用在类的方法上,如果用在类上,那么这个类所有的方法都是异步执行的;所使用的@Async注解方法的类对象...
【JAVA8新特性】之stream 写本章节的原因起源于以下代码:Optional<KeywordRouter> optional = getAllKeywordRouter().stream().filter(predicate -> predicate.getOriginKeyword().equals(originKeyword)).findFirst();小白再看代码的时候都晕了。。想着何时自己才能写...
Optional类的使用 【JAVA8新特性】Optional这是实习中学到新的类,看业务代码时发现大佬们喜欢用这个类,特别钻研了一下。Optional是一个可以为null的容器对象:它可以保存类型T的值,或者仅仅保存null。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。Optional 类的引入很好的...
SpringBoot结合定时器@Scheduled 参考文章:https://www.cnblogs.com/ityouknow/p/6132645.html参考文章:https://www.cnblogs.com/dyppp/p/7498457.html在我们开发项目过程中,经常需要定时任务来帮助我们来做一些内容, Spring Boot 默认已经帮我们实行了,只需要添加相应的注解就可以实现。1.pom 包配置pom 包里面只需要引入 S...