效果预览:
在线Demo:小飞机—Pzai,目前暂时只能在网页端玩,后续会在手机端隐藏该板块
教程:1. 新增plane.css文件1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859/* --------------------首页飞机操作样式-------------------- */.planeOpt kbd { margin: 0 3px; padding: 3px 5px; border: 1px solid #b4b4b4; border-radius: 3px; background-color: #f8f8f8; -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), 0 2px 1px 0 rgba(255, 255, 255, .6) inset; box-shadow: 0 1px 3px rgba( ...
一、引入依赖
Elasticsearch_v7.10为基础开发,采用高级REST客户端,详请参考:官网
12345<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>7.10.0</version></dependency>
二、相关概念
Mysql
Elasticsearch
数据库(database)
索引(indices)
表(tables)
types
行(rows)
documents
字段(columns)
fields
三、 API
使用时注入高版本client
12@Autowiredprivate RestHighLevelClient esClient;
1. 索引API1.1. 创建索引12345678Create ...
一、Future1. 使用1234567891011121314151617181920public class FutureTest { @Autowired privite UserService userService; public static void main(String[] args) throws ExecutionException, InterruptedException { //使用内部线程池 ExecutorService executorService = Executors.newFixedThreadPool(10); //创建新的线程去异步执行查询用户列表 FutureTask<List<User>> userFutureTask = new FutureTask<>(new Callable<List<User>>() { @Override ...
Java
未读一、依赖注入的几种方式:1. Set方式注入12345678public class TestServiceImpl implents TestService{ private TestDao testDao; @Autowire public serTestDao(TestDao testDao){ this.testDao = testDao; }}
2. 构造函数注入12345678public class TestServiceImpl implents TestService{ private TestDao testDao; @Autowire public TestServiceImpl(TestDao testDao){ this.testDao = testDao; }}
3. 注解注入
@Resouece、@Autowired、@Inject注入
12345678public clas ...
一、Java8时间处理由于java.util.Date 设定为可变类型,以及 SimpleDateFormat 的非线程安全使其应用非常受限,优先推荐使用java.time 包下的所有类因为其实不可变类型而且线程安全的
类名称
描述
Instant
时间戳
Duration
持续时间,时间差
LocalData
只包含日期,例如:2011-03-12
LocalTime
只包含时间,例如:21:35:10
LocalDateTime
包含时间和日期,例如:2011-03-12 21:35:10
Period
时间段
ZoneOffset
时间偏移量,比如:+8:00
ZoneDateTime
带时区的时间
Clock
时钟,比如获取目前美国纽约的时间
1. 获取当前日期123456789101112131415public class Data { public static void main(String[] args) { //获取当日日期 System.out.prin ...
一、关于常用的日志框架:介绍:
java.util.logging:是JDK在1.4版本中引入的Java原生日志框架
log4j:Apache的一个开源项目,可以控制日志信息输送的目的地是控制台、文件、GUI组件等,可以控制每一条日志的输出格式,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。虽然已经停止维护了,但目前绝大部分企业都是用的log4j
logBack:是Log4j的一个改良版本
log4j2:Log4j2已经不仅仅是Log4j的一个升级版本了,它从头到尾都被重写了
性能比较:在这列举一下一些网上其他博文中对它们的性能评测:
可以看到在同步日志模式下, logback的性能是最糟糕的
log4j2的性能无论在同步日志模式还是异步日志模式下都是最佳的,而且相比与其他的日志系统,log4j2采用了disruptor技术丢数据这种情况少,在多线程环境下,性能高于logback等10倍以上;利用jdk1.5并发的特性,减少了死锁的发生;
log4j2优越的性能其原因在于log4j2使用了LMAX,一个无锁的线程间通信库代替了logback和log4j之 ...
一、线程池构建
有参构造:
12345678910/*int corePoolSize - 保留在池中的线程数,即使它们是空闲的,除非设置allowCoreThreadTimeOutint maximumPoolSize – 池中允许的最大线程数long keepAliveTime – 当线程数大于核心时,这是多余的空闲线程在终止前等待新任务的最长时间。TimeUnit unit – keepAliveTime参数的时间单位BlockingQueue<Runnable> workQueue – 用于在执行任务之前保存任务的队列。此队列将仅保存由execute方法提交的Runnable任务。ThreadFactory threadFactory – 执行器创建新线程时使用的工厂(可设置线程前缀)RejectedExecutionHandler handler – 由于达到线程边界和队列容量而阻塞执行时使用的处理程序*/
1234//自定义线程池例子:ThreadPoolExecutor executor = new ThreadPoolExecutor(16, 16, 0 ...
设计模式设计模式的六大原则1、开闭原则(Open Close Principle)
开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。
2、里氏代换原则(Liskov Substitution Principle)
里氏代换原则是面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。LSP 是继承复用的基石,只有当派生类可以替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用,而派生类也能够在基类的基础上增加新的行为。里氏代换原则是对开闭原则的补充。实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。
3、依赖倒转原则(Dependence Inversion Principle)
这个原则是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体。
4、接口隔离原则(Inte ...
一、DataTable
英文官网:https://datatables.net
中文官网:http://datatables.club
二、选项(Option)
有关初始化选项信息,请参阅:选项手册
12345//例子:$('#table').DataTable({ autoWidth:true, deferRender: true});
数据表 - 功能
描述
autoWidth
功能控制 DataTables 的智能列宽处理
deferRender
功能控制延迟渲染以提高初始化速度
info
特征控制表信息显示栏
lengthChange
功能控制最终用户更改表格分页显示长度的能力
ordering
数据表中的特征控制排序(排序)能力
paging
启用或禁用表格分页
processing
特征控制处理指标
scrollX
水平滚动
scrollY
垂直滚动
searching
特征控制搜索(过滤)能力
serverSide
特征控制 DataTables 的服务器 ...
一、引入依赖
Chrome浏览器驱动官方下载地址:http://chromedriver.storage.googleapis.com/index.html
123456789101112<!--selenium库下载地址:http://selenium-release.storage.googleapis.com/index.html--><dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.1.4</version></dependency><!--解决'tried to access method com.google.common.util.concurrent.SimpleTimeLimiter'错误--><dependency> <gro ...



