跳过正文

Java

4、ES的查询
·1335 字·3 分钟· loading · loading
Java 组件与中间件 ElasticSearch
term查询 # term query: 会去倒排索引中寻找确切的term,它并不知道分词器的存在。这种查询适合keyword 、numeric、date term:查询某个字段为该关键词的文档(它是相等关系而不是包含关系) term是代表完全匹配,即不进行分词器分析,必须全值匹配。查询不会对查询的字段进行分词查询,会采用精确匹配 可以用它处理数字(numbers)、布尔值(Booleans)、日期(dates)以及文本(text) 语法 # 如果字段类型为text,那么在插入的时候就会被分词,如果使用term查询的话,那么无法命中
4、Button
·74 字·1 分钟· loading · loading
Java JavaFX 常用组件
按钮 Button btn = new Button("btn"); //鼠标点击事件 btn.setOnMouseClicked(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { System.out.println("click"); } }); //鼠标双击以及鼠标按钮 btn.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { if (event.getClickCount() == 2){ System.out.println("click double"); MouseButton mouseButton = event.getButton(); // 获取鼠标按钮 String name = mouseButton.name(); System.out.println(name); } } });
4、API
·189 字·1 分钟· loading · loading
Java JavaFX
初始化接口 # 实现Initializable接口,重写initialize方法,可以在视图加载时调用
3、服务注册中心
·3220 字·7 分钟· loading · loading
Java SpringFramework SpringCloud
注册中心以及服务注册 # 注册中心:是一个专用于完成微服务的注册,以及服务发现的东西 它采用的模式:发布/订阅模式 产品:Eureka(国外的),Nacos(国内阿里巴巴),ZooKeeper(动物园管理员) 这种产品非常多,具体使用情况具公司的情况具体使用 常用服务注册中心对比 # Nacos Eureka Consul CoreDns Zookeeper 一致性协议 CP + AP AP CP / CP 健康检查 TCP/HTTP/MySQL/client Beat Client Beat TCP/HTTP/gRPC/Cmd / Client Beat 负载均衡 权重/DSL/metaData/CMDB Ribbon Fabio RR / 雪崩保护 支持 支持 不支持 不支持 不支持 自动注销示例 支持 支持 不支持 不支持 支持 访问协议 HTTP/DNS/UDP HTTP HTTP/DNS NNS TCP 监听支持 支持 支持 支持 不支持 支持 多数据中心 支持 支持 支持 不支持 不支持 跨注册中心 支持 不支持 支持 不支持 不支持 Spring Cloud集成 支持 支持 支持 不支持 不支持 Dubbo集成 支持 不支持 不支持 不支持 支持 k8s集成 支持 不支持 不支持 支持 支持 Eureka # Eureka是SpringCloud体系中,专门用来完成服务的注册和发现的组件
3、包装类
·604 字·2 分钟· loading · loading
Java 常用API JDK原生
包装类(封装类) # Java是一个面向对象的编程语言,但是Java中的八种基本数据类型却是不面向对象的,为了使用方便和解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八种基本数据类型对应的类统称为包装类(Wrapper Class),包装类均位于java.lang包。
3、SpringBoot整合RabbitMQ
·3113 字·7 分钟· loading · loading
Java 组件与中间件 RabbitMQ
准备工作 # 1、添加依赖 # <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> 2、修改配置文件 # application.yml
3、Screen
·75 字·1 分钟· loading · loading
Java JavaFX 基本概念
主要用来获取屏幕信息 //获取主屏幕 Screen screen = Screen.getPrimary(); //获取用户的所有屏幕 ObservableList<Screen> screens = Screen.getScreens(); //获取当前屏幕dpi像素 screen.getDpi(); //获取用户可视屏幕的宽高 screen.getVisualBounds(); //获取全部屏幕宽高 screen.getBounds();
3、pom.xml
·4488 字·9 分钟· loading · loading
Java JavaEE Maven
POM # POM(项目对象模型)是 Maven 最基本,也是非常重要的一个概念。通常情况下,我们可以看到 POM 的表现形式是pom.xml,在这个 XML 文件中定义着关于我们工程的方方面面,当我们想要通过 Maven 命令来进行操作的时候,例如:编译,打包等等,Maven 都会从pom.xml文件中来读取工程相关的信息。
3、POI
·700 字·2 分钟· loading · loading
Java 常用API 第三方
用于在java程序中,解析读取excel文档 依赖 # <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.14</version> </dependency> 工具类 # public class POIUtil { //读取数据 public static List<List<String>> read(String excelPath,int sheetNum){ //根据文件后缀,创建不同的电子表格对象 Workbook workbook = null; File file = new File(excelPath); InputStream input; try { input = new FileInputStream(file); if(excelPath.endsWith("xlsx")){ //创建 Excel 2007 电子表格对象 workbook = new XSSFWorkbook(input); }else{ //创建 Excel 2003 工作簿对象 workbook = new HSSFWorkbook(input); } } catch (Exception e) { e.printStackTrace(); } return parse(workbook,sheetNum); } private static List<List<String>> parse(Workbook workbook,int sheetNum){ //获取当前的工作簿 Sheet sheet = workbook.getSheetAt(sheetNum); List<List<String>> excelList = new ArrayList<>(); //遍历表格所有行 for(int i = 0;i <= sheet.getLastRowNum();i++){ //获取行对象 Row row = sheet.getRow(i); //如果当前行为空,则开始下一行循环 if(row == null){ continue; } List<String> rowList = new ArrayList<>(); //遍历行中的所有列 for(int j = 0;j < row.getLastCellNum();j++){ //获取列对象 Cell cell = row.getCell(j); String cellStr = ""; //判断当前列数据类型 if(cell == null){ cellStr = ""; }else if(cell.getCellType() == Cell.CELL_TYPE_BOOLEAN){ //布尔类型 cellStr = String.valueOf(cell.getBooleanCellValue()); }else if(cell.getCellType() == Cell.CELL_TYPE_NUMERIC){ //数值类型 cellStr = (int)cell.getNumericCellValue() + ""; }else if(cell.getCellType() == Cell.CELL_TYPE_FORMULA){ //公式类型 cellStr = cell.getCellFormula(); }else{ //其余按字符串处理 cellStr = cell.getStringCellValue(); } rowList.add(cellStr); } excelList.add(rowList); } return excelList; } //写入到excel public static String write(String[] title, String sheetName, List<List<String>> data,String excelPath){ //创建Excel 2007 电子表格对象 Workbook wb = new XSSFWorkbook(); //设置sheet名称,并创建新的sheet对象 Sheet sheet = wb.createSheet(sheetName); //获取表头行 Row titleRow = sheet.createRow(0); //创建单元格,设置style居中,字体,单元格大小等 CellStyle style = wb.createCellStyle(); Cell cell = null; //把已经写好的标题行写入excel文件中 for (int i = 0; i < title.length; i++) { cell = titleRow.createCell(i); cell.setCellValue(title[i]); cell.setCellStyle(style); } //将数据写入excel Row row = null; for (int i = 0;i < data.size();i++){ row = sheet.createRow(i + 1); List<String> dataList = data.get(i); for (int j = 0;j < dataList.size();j++){ row.createCell(j).setCellValue(dataList.get(j)); } } //设置单元格宽度自适应,在此基础上把宽度调至1.5倍 for (int i = 0; i < title.length; i++) { sheet.autoSizeColumn(i, true); //注意单个单元格的最大列宽是255个字符 //sheet.setColumnWidth(i, sheet.getColumnWidth(i) * 15 / 10); } //创建上传文件目录 File folder = new File(excelPath); //如果文件夹不存在创建对应的文件夹 if (!folder.exists()) { folder.mkdirs(); } //设置文件名 Date date = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddhhmmss"); String format = dateFormat.format(date); String fileName = format + sheetName + ".xlsx"; String savePath = folder + File.separator + fileName; // System.out.println(savePath); try { OutputStream fileOut = new FileOutputStream(savePath); wb.write(fileOut); fileOut.close(); } catch (Exception e) { e.printStackTrace(); } //返回文件保存全路径 return savePath; } }
3、Group
·94 字·1 分钟· loading · loading
Java JavaFX 常用组件
布局组件 Group group = new Group(); Button btn1 = new Button("btn1"); Button btn2 = new Button("btn2"); Button btn3 = new Button("btn3"); //添加组件 group.getChildren().addAll(btn1,btn2,btn3); //移除指定组件 group.getChildren().remove(btn1); Scene scene = new Scene(group); primaryStage.setScene(scene); //设置透明度(会影响子组件) group.setOpacity(0.5); //检测在指定位置上是否有子组件(只能检测到子组件的左上角点) group.contains(0,0);