![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
菜鸟程序员李老板专业码代码三十年
菜鸟推动世界进步
展开
-
Springboot中报错:java.awt.HeadlessException:null
Springboot中报错:java.awt.HeadlessException:nullpublic class Chat extends JFrame implements Runnable, ActionListener, ItemListener{}普通运行不会报错,springboot运行会报错,并且找不到原因,后来看到一个有效果的。在虚拟机配置中找到VM Option,添加-Djava.awt.headless=false重启就好了什么是 java.awt.hea原创 2022-03-07 17:56:45 · 1082 阅读 · 0 评论 -
linux上报错xxxxxxx.jar中没有主清单属性
服务器报错graduation-server.jar中没有主清单属性本地idea的项目打包运行在服务器上,java -jar 运行的时候报了一个没有主清单属性的错误,来回找原因,后面才发现在设置project structure中的artifacts时,点加号后从现有模块创建,中下面的MANIFEST.MF文件不能设置在main/java目录下,已经编译了,就把那个文件删了,重新设置artifacts保存路径,然后编译就可以了...原创 2022-03-05 21:28:03 · 414 阅读 · 0 评论 -
雪花算法笔记
雪花算法笔记:全局唯一id:64位的唯一时间戳第一位为041位为时间戳10位为机器id12位为bit序列号时间戳代表可以使用多长时间机器号代表可以同时使用的机器数量1024序列号为一毫秒可以有4096个时间戳运算:先将时间戳左移22位机器编号左移12位机器号不变将得到的三个01字符串进行或运算(只要有一个是1就是1)得到的id转化为10进制...原创 2022-01-13 00:09:52 · 213 阅读 · 0 评论 -
凯撒加密移位
将字符简单后移package sample.demo;/** * @author lh * @date 2021/12/29 12:38 */public class CaesarDemo { private static String encrypt(String clearText, int key) { char[] chars = clearText.toCharArray(); for (int i = 0; i < chars.len原创 2021-12-31 15:53:05 · 2874 阅读 · 0 评论 -
java文件操作
1文件读取与写入2文件字符统计(用于统计分析破解文件)3文件分别位于demo包和util包文件写入package sample.demo;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;/** * @author lh * @date 2021/12/29 22:33 */public class FileWriter原创 2021-12-31 15:51:05 · 157 阅读 · 0 评论 -
AI五子棋算法实现
AI五子棋算法实现前面已经发过一个思路,常用的用于电脑下棋的思路。个人AI五子棋算法思路目前在gitee上找了个已经实现了简单的五子棋下棋功能的代码,功能实现了,写的也不错,不过没什么注释,代码要看半天,我在电脑下棋的部分添加了很多注释,便于观看,主要观看的就是这第三部分。我对于其的修改也是在第三部分。实现有三个文件gobangMain.javagobangListener.javarobotQZ.java电脑下棋部分在robotQZ.java文件中,另外两个部分是功能逻辑的实现,这一部分就原创 2021-07-16 12:36:59 · 963 阅读 · 3 评论 -
java后端开发学学习路线结构图
java后端开发学学习路线结构图所有图均为网络上借鉴翻译 2021-07-06 12:28:11 · 164 阅读 · 0 评论 -
web返回状态信息类
web返回状态信息类package com.example.youruan.day01.entity;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic class ResultEntity<T> { private static final String原创 2021-06-30 09:08:29 · 90 阅读 · 0 评论 -
java实现部分常见排序算法
java实现部分常见排序算法希尔排序package example;public class ShellSort { public static void main(String[] args) { int[] arr = {5, 1, 7, 3, 1, 6, 9, 4}; shellSort(arr); for (int i : arr) { System.out.print(i + "\t"); }原创 2021-06-28 15:49:31 · 154 阅读 · 0 评论 -
java单例的四个小案例
java单例的四个小案例1package com.example.youruan.day01.entity;public class Singleton1 { private Singleton1() { } private static final Singleton1 singletonInstance = new Singleton1(); public static Singleton1 getInstance() { return si原创 2021-06-27 22:50:52 · 171 阅读 · 0 评论 -
java自定义工具类编写
java自定义工具类编写得到一天的最后时刻public static Date getDateOneDayEnd(Date date) throws ParseException { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.HOUR_OF_DAY, 23); calendar.set(Calendar.原创 2021-06-26 00:42:03 · 698 阅读 · 0 评论 -
springMvc简单入门
springMvc简单入门1什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范,是spring中的一种,就如同spring-cloud。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。项目要做大,业务要做复杂,就要项目分离的彻底一点,采用框架设计比较好。...原创 2021-06-23 00:34:23 · 120 阅读 · 0 评论 -
spring相关注解
spring相关注解启动类注解,启动项目@springbootapplication由三部分组成(1)springbootconfiguration配置类(2)enableautoconfiguration启用springboot的自动配置(3)componentscan组件扫描测试注解类上@runwith(springrunner.class)使用spring的运行器@springboottest //springboot测试@webmvctest(控制层.class)将其注入到原创 2021-06-20 18:03:23 · 75 阅读 · 0 评论 -
jdbc的使用
jdbc的使用jdbc因为每次都需要去执行创建连接等操作,所以已经不常用了,现在的各个框架都使用配置文件来简化开发了,例如springboot整合的mybatis,springboot-jpa不过还是可以了解一下如果没有使用maven就得自己去添加jar包如果使用了maven就在pom.xml文件中添加依赖,依赖可以百度jdbc 的使用分为7步(1)加载驱动(2)创建连接(3)编写sql语句(4)得到preparedstatement对象(5)执行操作得到sql语句(6)处理resul原创 2021-06-20 15:03:20 · 285 阅读 · 0 评论 -
分布式系统架构演变
分布式系统架构演变相关概念单体架构–》垂直架构–》分布式架构–》SOA架构–》微服务架构1.单体架构也就是所有的功能开发都在一个模块内,缺点很多2.垂直架构将单体中的模块分布到多个系统中,就形成多个单体架构,缺点同样很多3.分布式架构在垂直架构的基础上将公共的业务模块抽取出来,形出独立的提供者模块,供消费者调用(RPC),已经能够简化大量的开发与部署了,但是还是有缺点,比如服务的提供者一变,所有消费者也就是服务的调用者也需要改变4.SOA架构(面向服务的架构)是一个组件模型原创 2021-06-18 19:42:38 · 66 阅读 · 0 评论 -
java线程阻塞
java线程阻塞sleep() 方法:sleep() 允许 指定以毫秒为单位的一段时间作为参数,它使得线程在指定的时间内进入阻塞状态,不能得到CPU 时间,指定的时间一过,线程重新进入可执行状态。典型地,sleep() 被用在等待某个资源就绪的情形:测试发现条件不满足后,让线程阻塞一段时间后重新测试,直到条件满足为止。suspend() 和 resume() 方法:两个方法配套使用,suspend()使得线程进入阻塞状态,并且不会自动恢复,必须其对应的resume() 被调用,才能使得线程重新进入可执原创 2021-06-18 17:46:51 · 269 阅读 · 0 评论 -
javaweb文件上传
javaweb文件上传此文仅作笔记jsp页面<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>uploadFile</title></head><body><form action="/servletForUpload" enctype="multipart/form-data翻译 2021-06-17 13:32:03 · 60 阅读 · 0 评论 -
mysql索引简略
mysql索引一般包括聚集索引、覆盖索引、组合索引、前缀索引、唯一索引等,没有特别说明,默认都是使用B+树结构组织(多路搜索树,并不一定是二叉的)的索引优势:类似目录,,降低io成本,提高搜索速度劣势:占磁盘空间,降低更新速度索引类型主键索引索引列中的值必须是唯一的,不允许有空值。普通索引MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值。唯一索引索引列中的值必须是唯一的,但是允许为空值。全文索引只能在文本类型CHAR,VARCHAR,TEXT类型字段原创 2021-06-17 12:42:47 · 69 阅读 · 0 评论 -
面试:hashmap
面试:hashmapjava常见数据结构有三种一种是数组:优缺点:查找快,增删慢一种是链表优缺点:增删快,查找慢哈希表:面试常见题讲一下hashmaphashmap是一种链表与数组结合的结构,可以看作一个数组,里面的每个元素存储了一个单链表,单链表的长度超过一定的值就转换为树(平衡树),结合了数组与链表的优点hashmap的重点是hashcode,将key通过hash函数转化为数组下标去存储查找元素,而它发送数组下标重复时就使用链地址法,构成一个链表,想找到键值对可以通过equals()原创 2021-06-16 22:04:50 · 71 阅读 · 0 评论 -
swagger2简单搭建
swagger2简单搭建简介:Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。API说明@ApiModel定义模型@ApiModel(description = "分页结果-传输对象")public class PageResult impl原创 2021-06-16 19:27:58 · 292 阅读 · 0 评论 -
发送验证码简单实例
发送验证码简单实例1进入阿里云市场2搜索山东鼎信3支付订单4管理5项目中编写测试管理中需要的数据AppKey:203846543AppSecret:Y1zR5L347tfKB2qZbK8UmwKWGjxNnItmAppCode:aac65ed2099046149fdbbc155e65f56d更改手机号,更改appcode @Test public void testSms() throws Exception { String host = "ht原创 2021-06-16 14:38:44 · 328 阅读 · 0 评论 -
springSession配置redis存session
springSession配置redis存sessionHttpSession 回顾什么是 HttpSession是 JavaWeb 服务端提供的用来建立与客户端会话状态的对象。Session 共享什么是 Session 共享是指在一个浏览器访问多个 Web 服务时,服务端的 Session 数据需要共享。Session 共享应用场景List item单点登录Web 服务器集群等场景Session 共享常见的解决方案Session 复制通过对应用服务器的配置开启服原创 2021-06-16 10:40:06 · 1063 阅读 · 0 评论 -
redis快速启动方法
redis快速启动redis下载后可以下载一个图形界面管理工具但是启动还是得去到redis安装目录下再启动cmd命令行输入命令启动服务很麻烦目前大部分都是重复得文章还是错的常用的两种方法:(1)通过下载服务启动服务实现(2)修改环境变量,可以简化启动看到有人使用批处理实现感觉是非常不错的推荐一下批处理实现...转载 2021-06-15 20:04:39 · 683 阅读 · 0 评论 -
枚举类测试
枚举类package example.testForJava;public enum ResponseCodeEnum { SUCCESS(1,"success"), FAIL(-1,"fail"), NOT_FOUND(404,"not found"); private Integer code; private String message; ResponseCodeEnum(Integer code,String message){原创 2021-06-11 10:26:46 · 394 阅读 · 1 评论 -
java两种常见单例模式介绍
java单例模式介绍单例是整个生命周期只能有一个实例,开发中对于有的对象我们只允许他是唯一的就会使用 这种,避免其他的人可以创建实例使用一些工具方法,用静态类,静态类比单例类更快,因为静态的绑定是在编译期进行的。当你仅仅是提供一些方法时选用静态类,就比如util工具维护状态信息,或者访问资源,选用单例模式。1.饿汉式(single单个单词记错了)package example.testForJava;public class SignalTest { //保证其他类中不能创建他原创 2021-06-11 10:17:40 · 678 阅读 · 0 评论 -
spring-cloud-Zuul微服务网关
Zuul微服务网关zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web网站后端所有请求的前门。也就是过滤器本文将在上一个项目下进行搭建springCloud整合项目1在上一个项目包下创建modul2启动类添加注解@EnableZuulProxy3修改application.xml文件后运行服原创 2021-06-11 10:10:28 · 137 阅读 · 0 评论 -
springcloud介绍euruka服务发现ribbon负载均衡feign简化hystrix容错机制
springcloud介绍euruka服务发现ribbon负载均衡feign简化hystrix容错机制本文内容都是实际操作后得到的,是基本没有错误的,命名格式本次比较随意springcloud概念:Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发原创 2021-06-10 19:59:02 · 442 阅读 · 0 评论 -
springboot_jpa整合
springboot_jpa使用目的:大部分简单得sql语句可以不用写,通过使用提供得jpa去完成1创建项目,选中圈出来的组件2修改application.yml文件spring: jpa: hibernate: ddl-auto: update datasource: url: jdbc:mysql:///test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC原创 2021-06-09 17:51:58 · 99 阅读 · 0 评论 -
Springboot整和mybatis方法二
Springboot整和mybatis方法二没有使用xml文件项目目录结构如下1修改pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.a原创 2021-06-08 11:14:55 · 82 阅读 · 0 评论 -
Springboot整和mybatis方法一
Springboot整和mybatis方法一使用xml文件项目目录结构如下1pom.xml文件中添加依赖(插件库下载lombok使用@Data注解)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaL原创 2021-06-08 11:03:24 · 92 阅读 · 0 评论 -
@Data注解
@Data注解功能1、@Data可以为类提供读写功能,不用写get、set方法。2、他还会为类提供 equals()、hashCode()、toString() 方法。使用1下安装lombok插件,在plugins插件库中搜索下载2maven中添加依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId&原创 2021-06-08 10:48:28 · 153 阅读 · 0 评论 -
Springboot搭建
Springboot简单搭建按图操作(1)maven 镜像下载地址先换成阿里的在settings.xml文件中更改 <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirro原创 2021-06-07 13:13:20 · 57 阅读 · 0 评论 -
idea快速生成getset方法
idea快速生成getset方法一般是alt+insert 有的电脑不行因为delete和insert是一起的就需要fn+alt+insert然后ctrl+a全选生成原创 2021-06-04 16:49:24 · 536 阅读 · 0 评论 -
java获取当前日期的前一天
package example;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class mainForTest { public static void main(String[] args) { SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");原创 2021-06-03 14:09:28 · 603 阅读 · 0 评论 -
java面试题杂记
java面试题杂记图片均为借鉴1BIO、NIO、AIO 有什么区别?BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。NIO:New IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。2接口和抽象类有什么区别?实现:抽象类的.原创 2021-05-31 12:44:13 · 191 阅读 · 0 评论 -
java线程池
线程池的使用(原文)这篇文章写的非常非常的细致了,推荐阅读(节约时间)总结一下线程池的使用:在需要大量的短暂的使用的线程情况ThreadPoolExecutor案例(原文转载)使用:(1)创建ThreadPoolExecutor实例(2)实例.execute(实现了runnable的类的实例);package example.testForJava;import java.util.concurrent.ArrayBlockingQueue;import java.util.concur翻译 2021-05-30 14:38:19 · 83 阅读 · 0 评论 -
java多线程三种实现方式(thread与runnable区别)
Java中创建线程主要有三种方式:①继承thread重写run,调用startpackage example.testForJava;public class threadTest extends Thread { @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(getName()+" "+i); }原创 2021-05-30 11:48:22 · 118 阅读 · 0 评论 -
intellij idea快捷键使用与部分java动态web知识
intellijidea使用与Idea web项目fori 循环sout输出ctrl+shift+o 快速导入包删除无用的包ctrl+o 重写父类有的方法ctrl+/快速注释ctrl+d 复制行ctrl+x 删除行ctrl+alt+l格式化代码ctrl+shift+f10运行程序shift+f9调试程序ctrl+f2停止调试:F7/F8/F9分别对应Step into,Step over,Continuectrl+tab 切来切去alt+←→代码进入与返回alt+↑↓在同一文件里原创 2021-05-29 16:38:56 · 165 阅读 · 0 评论