JFrame画板
展示画板内容
12345678910111213141516171819202122232425262728293031323334353637383940import javax.swing.*;import java.util.HashMap;import java.util.Map;public class JFramePrint { Map<String,JFrame> map = new HashMap<>(); public void printMessage(String jframeName,String message){ JFrame jf = createJFrame(jframeName); //创建画笔 JPanel jp=new JPanel(); //传入文本 JTextArea jta=new JTextArea(message); jp.add(jta); //内容展示在面板上 jf ...
JDK8特性
串行和并行串行stream()
并行parallelStream()
stream().parallel()
对象中取字段
1List<String> names = userEntities.stream().map(UserEntity::getName).collect(Collectors.toList());
reduce求和
1234567891011121314List<Integer> list = Arrays.asList(1,2,3,4,5,6);//串行int all = list.stream().reduce(0,((tempTatal, tempParam) -> tempTatal + tempParam));System.out.println(all);all = list.stream().reduce(0,Integer::sum);System.out.println(all);//并行all = list.stream().parallel().reduce(0,Integer::sum,Integer ...
python基础
基本数据类型
数字类型
int
12age = 1print(type(age))
float
12price = 1.2print(type(price))
布尔
123booleanName = TruebooleanName1 = Falseprint(type(booleanName),type(booleanName1))
字符串
12345str1 = '字符串1'str2 = "字符串2"str3 = """字符串3"""str4 = str(1111)print(type(str1),type(str2),type(str3),type(str4))
列表
123456789101112131415161718# 创建peoples=[['小明',18,['语文','数学']],['小红',19,['英语','地理']]]print(pe ...
swagger3配置
gateway和swagger3整合依赖123456789101112131415161718192021222324<!-- swagger相关 --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version></dependency><!-- swagger增强 --><dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>3.0.3</version></dependency><!-- ...
mysql索引
B+树
存储引擎与磁盘的交互是以page页的形式,page页的数据存储大小是16k
B+树就是将page页的位置信息生成目录
目录记录的主要参数是 序号开始、页码
然后又对目录按同样的方式创建目录
注:
创建目录的层级越高,存储引擎与磁盘的交互次数就越多(查询时间就越长)
对于大数据字段,由于数据会保存在多个page页中,会导致目录的层级变高
若B+树根据的字段是无序的,则每次新增或修改会导致更多次的B+树的分裂和合并
索引分类
主键索引
表设置主键后,会根据主键生成B+树
聚集索引
表未设置主键后会自动创建聚集索引,会根据聚集索引生成B+树
以非空的唯一索引字段作为聚集索引,若非空的唯一索引也没有则会以rowid做为聚集索引
二级索引
联合索引
多个字段保证唯一创建B+树
联合索引的好处是不用进行回表
若查询的字段在联合索引之中,则只需要查询联合索引B+树的目录层级
若查询的字段不在联合索引之中,则从目录层级获取到联合索引存在的字段后,还要去查询主键索引或聚集索引
覆盖索引
叶子节点保存主键的值,当需要查询的值不在联合索引中的时候会直接去读取覆盖索引 ...
异步任务
创建线程池信息
1234567891011121314151617@Configuration@EnableAsyncpublic class TaskPoolConfig { @Bean("taskExecutor") public Executor taskExecutro(){ ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); taskExecutor.setCorePoolSize(10); taskExecutor.setMaxPoolSize(50); taskExecutor.setQueueCapacity(200); taskExecutor.setKeepAliveSeconds(60); taskExecutor.setThreadNamePrefix("taskExecutor--"); taskExecu ...
BIO、NIO笔记
BIO
B是Blocking,阻塞的意思,所有建立的连接会在内存中一直监听,也就是线程阻塞直到有io请求变化的时候才会继续往下执行
由于每一个连接都占内存,所以连接数是有上限的
NIO
N是Non-Blocking,不阻塞的意思
调用java层面封装的 selector多路复用器
名字解释:BIO是遍历每个连接进行检查是否有IO操作,NIO是直接监听就绪事件列表rdlist,将多个监听变为一个监听
核心原理是通过调用linux内核的epoll的三个函数做操作(windows是基于winsock2)
epoll_create 创建监听实例
epoll_ctl 监听是否有IO操作,若存在则将该IO操作放在就绪事件列表rdlist中
epoll_wait 线程等待监听就绪事件列表rdlist,一旦存在则处理该IO操作
面试题:
select、poll、epoll的区别
select、poll是BIO的模型,select的连接数有上限,poll无上限
epool是NIO的模型(JDK1.5及以上存在)
IO流笔记
背景linux未部署文件服务器,通过springboot提交对外的地址,将linux的文件转视频流
代码
配置类
12345678910111213/** * 文件流转视频流 */@Componentpublic class NonStaticResourceHttpRequestHandler extends ResourceHttpRequestHandler { public final static String ATTR_FILE = "NON-STATIC-FILE"; @Override protected Resource getResource(HttpServletRequest request) { final Path filePath = (Path) request.getAttribute(ATTR_FILE); return new FileSystemResource(filePath); }}
业务实现类
1234567891011 ...
ESP8266
1.建立网络连接12345678910111213141516171819202122232425#include <ESP8266WiFi.h> //引入库函数const char* ssidIn = "ChinaNet-aemM"; //定义用户名const char* passwordIn = "wp907678446"; //定义密码const char* ssidOut = "ESP8266"; //定义用户名const char* passwordOut = "12345678"; //定义密码void setup() { Serial.begin(9600); //启动串口通讯 WiFi.begin(ssidIn, passwordIn); //连接网络 WiFi.softAP(ssidOut, passwordOut); //NodeMCU的AP模式(开放网络) int i = 0; ...
webuploader
背景上传大文件时使用二进制易造成超时上传,故采用分片上传的方式,一步一步接收,然后存入文件
技术:百度的webuploader
前端js版本
官网下载webuploader
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112<html> <head> <meta charset="utf-8"> <title>webuploader</title> <script type="text/javascript" src="js/jquery-1.9.1.min.js& ...