- 博客(56)
- 收藏
- 关注
原创 Java开发工程师必会技能清单
常用命令,数据类型,字符集编码,简单查询,条件查询,模块查询,多表查询。对查询结果排序,过滤,分组等。索引,事务,存储引擎锁机制与InnoDB锁算法相关概念和原理。Redis特性,常见数据结构及其使用场景,常见读写策略,内存淘汰机制,持久化机制,缓存会产生哪些问题及其解决方案,实际应用。3.Spring框架,Spring,Spring MVC,Spring Boot。maven项目构建,多模块项目的构建,运行,打包,部署。4.ORM框架,MyBatis。2.Linux基本使用,常用命令。
2024-09-12 11:20:33
797
原创 Java遍历map集合的几种方式
package com.bt.springboot.demo;import java.util.HashMap;import java.util.Iterator;import java.util.Map;/** * @author * @Date 2022/5/18 15:59 */public class HashMapDemo { public static void main(String[] args) { HashMap<String,Object> m
2022-05-18 16:41:48
341
原创 list集合工具类 ListUtil 去重 差交并集
package com.bt.springboot.util;import com.bt.springboot.entity.Person;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;/** * @author zkx * @Date 2022/4/26 13:40 */public class ListUtil
2022-05-07 16:09:38
706
原创 logback error日志钉钉群机器人告警实现
1.在钉钉群添加机器人2.DingTalkUtilpackage com.bt.springboot.util;import ch.qos.logback.classic.spi.ILoggingEvent;import ch.qos.logback.classic.spi.IThrowableProxy;import ch.qos.logback.classic.spi.StackTraceElementProxy;import ch.qos.logback.classic.spi.Thro
2022-04-08 14:17:25
1275
原创 使用Map做缓存
1.单例实现import org.springframework.stereotype.Component;import java.util.Map;import java.util.Set;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.ScheduledThreadPoolExecuto
2022-01-04 15:46:50
2304
原创 Java8新特性
简介:Lambda表达式函数式接口方法引用与构造器引用Stream API接口中的默认方法与静态方法新日期时间API其他新特性优点:速度更快代码更少(增加了新的语法Lambda表达式)强大的StreamAPI便于并行最大化减少空指针异常...
2022-01-03 21:46:19
217
原创 sts创建springboot项目-maven方式
spring tool suite 4创建springboot项目-maven方式1.创建maven项目2.配置pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/x
2022-01-03 19:49:13
410
原创 SpringSecurity-BCrypt加密
public static void main(String[] args) { // 1.创建BCryptPasswordEncoder对象 BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); // 2.准备明文字符串 String rawPassword = "123456"; // 3.加密 String encode = passwordEncoder.encode(rawPas
2021-12-18 14:54:38
256
原创 Maven构建生命周期
clean 清理:删除以前的编译结果,为重新编译做好准备。compile 编译:将 Java 源程序编译为字节码文件。test 测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性package 打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java 工程对应 jar 包,Web工程对应 war 包。install 安装:将打包的结果部署到远程仓库或将 war 包部署到服务器上运行。deploy 部署:将打包的结果部署到远程仓库或将 war 包部署到服务器.
2021-10-17 22:02:56
125
原创 xxl-job实现钉钉群机器人报警功能
1.首先在钉钉群创建自定义机器人安全设置自定义关键字2.xxl-job中编写钉钉报警功能的实现类在com.xxl.job.admin.core.alarm.impl下package com.xxl.job.admin.core.alarm.impl;import com.xxl.job.admin.core.alarm.JobAlarm;import com.xxl.job.admin.core.model.XxlJobInfo;import com.xxl.job.admin.core.
2021-10-15 16:13:26
1492
原创 Java实现MD5加密
public class MD5Test { /** * 对明文字符串进行MD5加密 * @param source 传入的明文字符串 * @return 加密结果 */ public static String md5(String source) { // 1.判断source是否有效 if(source == null || source.length() == 0 ) { //2.如果不是有效的字符串抛出异常 throw new RuntimeExceptio
2021-10-14 11:21:57
268
原创 Java接口和抽象类
1.实现:抽象类的子类使用 extends 来继承;接口必须使用 implements 来实现接口。2.构造函数:抽象类可以有构造函数;接口不能有。3.多继承:类可以实现很多个接口;但只能继承一个抽象类(java只支持单继承)4.访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的抽象方法可以使用Public和Protected修饰,如果抽象方法修饰符为Private,则报错;接口中除了static、final变量,不能有其他变量,而抽象类中则不一定。5.实现:接口只有定义,不能有方法的
2021-09-08 17:23:22
468
原创 java实现-算出n以内的质数
/** * 求100以内的质数 * @author zkx * @Date 2021/9/8 10:54 */public class Demo1 { public static void main(String[] args) { int n = 100; Demo1.getPrimeNumber(n); } public static void getPrimeNumber(int n){ for (int i = 1
2021-09-08 11:19:18
337
原创 leetcode04-寻找两个正序数组的中位数(JAVA实现)
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5示例 3:输入:nums1 = [0,0], nums
2021-07-22 17:05:59
221
1
原创 leetcode03-无重复字符的最长子串(Java实现)
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列
2021-07-10 12:42:47
329
原创 数据库引擎MYISAM和INNODB的区别
MYISAMINNODB事务支持不支持支持数据行锁定不支持支持外键约束不支持支持全文索引支持不支持表空间大小较小较大,约2倍常规使用操作:MYISAM 节约空间,速度很快INNODB 安全性高,事务的处理,多表多用户操作...
2021-06-27 16:49:47
99
原创 java注解
package com.zkx.annotation;import java.lang.annotation.*;// 测试元注解public class Test01 { @MyAnnotation public void test(){ }}// 定义一个注解// Target 表示我们的注解可以用在哪些地方@Target(value = {ElementType.METHOD,ElementType.TYPE})// Rentention 表示我们的
2021-06-24 18:46:06
123
原创 MySQL数据库中的数据类型及其长度和小数点
// 有小数点List<String> decimalList = Arrays.asList("DECIMAL","DOUBLE","FLOAT","NUMERIC","REAL");// 无小数点数据类型List<String> noDecimalList = Arrays.asList("BIGINT","BINARY","BIT","CHAR","DATETIME","INT","INTEGER","VARCHAR", "TINYBLO.
2021-05-26 14:23:10
1106
1
原创 云服务器CentOS7安装JDK
1.先java-version命令查看是否安装jdk2.mkdir /usr/java 命令创建jdk所在目录 将jdk上传到 /home/software 下3.解压jdk压缩包 tar -zxvfjdk-8u191-linux-x64.tar.gz4.把解压后的jdk放到 /usr/java 下 mvjdk1.8.0_191/ /usr/java/5.配置环境变量修改profile文件 vim /etc/profile 配置jdk环境变量,配置在p...
2021-02-28 17:45:07
194
原创 SpringBoot构建定时任务
创建定时任务的类,加上@Component注解要被扫描到,加@Scheduled注解cron表达式生成器@Componentpublic class OrderJob { @Scheduled(cron = "0 0 0/1 * * ? ") public void autoCLoseOrder(){ orderService.closeOrder(); System.out.println("执行定时任务,当前时间为:"
2021-02-25 20:59:07
148
原创 实现商品搜索功能
springboot框架 RESRful风格 PageHelper分页插件编写流程:1.写好sql及mapper.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.z
2021-01-03 21:13:24
1484
原创 java代码读取网络服务器资源
package com.zkx.demo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;/** * java代码读取网络服务器资源 * */public class Demo1 { publi.
2020-12-13 21:47:35
432
原创 CookieUtils工具类
CookieUtilspackage com.zkx.utils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.UnsupportedEncodin
2020-12-07 19:20:52
503
1
原创 SpringBoot+tkMyBatis实现注册登录service和controller
涉及到的工具有DateUtil,MD5Utils,n3r,tkMyBatis Mapper类由MyBatis逆向生成工具生成,实现了通用Mapper接口类,所以在调用相关CRUD方法时要根据tkMyBatis相关规则 Service和Controller编写如下UserServiceImpl package com.zkx.service.impl;import com.zkx.bo.UserBO;import com.zkx.enums.Sex;import com.zkx.map..
2020-12-05 22:53:49
731
原创 SpringBoot前后端分离项目跨域配置实现前后端联调
前后端分离项目,前端项目启动访问后端项目,此时前后端使用的ip端口号不同,若联调需要跨域配置本地实现:前端ip:http://localhost:8080后端ip: http://localhost:80881.前端代码先放在tomcat文件夹下的webapps文件下。前端代码中配置好后端项目的ip及端口号2.在后端springboot项目写配置类CorsConfigpackage com.zkx.config;import org.springframework.cont..
2020-12-05 21:45:22
1401
原创 SpringBoot整合Swagger2文档
1.pom.xml添加依赖<!-- swagger2 配置 前两个为官方,第三个是另一种ui --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version&
2020-12-05 15:40:05
240
原创 配置logback
logback的主要模块:logback-access logback-classic logback-corelogback的主要标签logger appender layoutlogback.xml<?xml version="1.0" encoding="UTF-8"?><configuration scan="true" scanPeriod="60 seconds" debug="false"> <!-- 定义参数常量 -->
2020-09-29 19:29:06
166
原创 Maven构建SSM项目配置pom文件
pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</mode
2020-09-23 22:31:25
326
原创 SSM整合配置web.xml
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1" m.
2020-09-17 22:50:00
172
原创 解决idea创建webapp项目报错的问题
setting for New Project --> Maven --> RunnerVM options 加上-DarchetypeCatalog=internalJRE 加上jar包 重新创建项目 搞定
2020-08-23 22:58:30
638
原创 LeetCode01-两数之和
给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class Solution { public int[] twoSum(int[] nums, int targ...
2020-08-06 21:24:03
163
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人