
Java博文杂记
杂记
狮子座的程序员
不积跬步无以至千里,不积小流无以成江海
展开
-
java: 错误: 无效的源发行版:15
https://blog.youkuaiyun.com/m0_69990222/article/details/127668495?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167772074816800225540135%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=167772074816800225540135&biz_id=0&utm_medi原创 2023-03-02 09:40:01 · 175 阅读 · 0 评论 -
软著材料编写脚本
于是我写了个Java脚本,功能是:删除代码文件里的换行符并且把众多代码文件合并成一个代码文件(这样直接复制生成的代码文件放到软著源代码材料文档里就好啦)提交软著需要60页的源代码(不足60页的把代码全部提交),每页要固定50行,有前端的是前后端各30页。但是代码里有很多换行啊…一个个去删除太麻烦。最后点击行号,每页显示行号即可。原创 2022-11-05 14:46:58 · 738 阅读 · 0 评论 -
MIME类型大全
MIME类型大全,快速找到MIME类型转载 2022-06-23 18:42:24 · 375 阅读 · 0 评论 -
接口文档————Apidoc的使用
简介APIdoc是一个接口文档,他跟Swagger的区别如下:APIDOC可以离线查看,Swagger必须运行查看。APIDOC生成文档复杂,Swagger生成文档很简单。综上考虑,如果需要离线环境看文档的,还是推荐APIdoc,如果有条件线上查看的,十分推荐Swagger,因为它太省事啦!!APIdoc长这样下载APIdoc首先你需要安装有node.js的环境(没有就下载个)打开项目,在终端运行如下npm intsall apidoc //安装apidoc在根目录创建apido原创 2022-03-16 17:14:30 · 2663 阅读 · 0 评论 -
接口文档————Swagger2报错404
请仔细检查1.是否config类带了@EnableWebMvc注解,如有请删除。如果需要集成WebMvcConfigurationSupport,那么是不能够使用Swagger的,想要写接口文档,推荐使用Apidoc2.配置文件是否包含如下字段,如有请删除 mvc: static-path-pattern: /static/** resources: static-locations: classpath:/META-INF/resources/,classpath:/reso原创 2022-03-16 17:03:10 · 1247 阅读 · 0 评论 -
接口文档————Swagger2的使用
介绍Swagger2是个接口文档插件,它会自动生成接口文档。它长这样关键的一点是,它是全自动生成的哦~除了接口文档组名称以及单个接口注释之外,不需要你写任何东西,也就是如上图,只需要写"用户管理,登录注册相关接口",以及"添加用户"之外,其他都不需要你写。使用方法<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><dependency> <groupId&g原创 2022-03-16 17:00:06 · 767 阅读 · 0 评论 -
Java常用工具类——时间工具类
工具类功能获取当前日期获取本周开始、结束日期获取本月开始、结束日期获取本年开始、结束日期Java代码package com.guangyu.common;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.TimeZone;public class TimeT原创 2021-04-24 11:43:35 · 387 阅读 · 0 评论 -
Java常用工具类——验证码工具类
验证码工具类运行截图工具类代码package com.example.demo.util;import java.awt.*;import java.awt.image.BufferedImage;import java.util.Random;/** * 验证码生成器 * * @author llq */public class CpachaUtil { /** * 验证码来源 */ final private char[] code = { '2'原创 2021-04-24 10:01:47 · 1192 阅读 · 0 评论 -
Java——【小技巧】——提取字符串中的汉字
前言在做项目的时候,会需要对数据进行加工处理,如果遇到仅提取汉字的情况,可以使用以下代码,用正则表达式来取汉字,下方代码逻辑是用replace函数把非汉字字符用空字符替换掉,仅留下汉字。代码String string="abcd123456中文_$,@"; //写的一个字符串System.out.println(string.replaceAll("[^\\u4e00-\\u9fa5]"...原创 2020-05-07 12:08:20 · 2070 阅读 · 0 评论 -
Java——【小技巧】——字符串中去除字符串中的空格
前言有的时候,在写程序难免要去掉字符串中的空格,比如博主在编写博客系统的时候,文章中有空格,在"管理文章"页面显示内容的时候,需要把空格去掉,对吧,那这个就得派上作用了。来回顾一下java的基础知识,伙伴们是否还记得replace函数,替换函数,对吧?那么答案就可以顺手拈来了代码String text2 = " j a v a 是 个 好 语 言 "; //一个字符串text2...原创 2020-05-07 12:02:37 · 215 阅读 · 0 评论 -
使用JBCD详细教程MySQL(下载——>导入——>使用)
使用JBCD详细教程MySQL文章目录使用JBCD详细教程MySQL下载JDBC的jar包导入Jar包到项目中下载JDBC的jar包下述连接有详细图文教程下载JDBC的jar包导入Jar包到项目中把jar包粘贴到一个文件夹下面,比如web我粘贴到了lib文件夹下然后右击jar包,选择build path——>add to path,即可完成导入...原创 2019-12-25 15:56:47 · 757 阅读 · 2 评论 -
Eclipse快速导包
ctrl+shift+o原创 2019-12-25 09:15:36 · 5008 阅读 · 0 评论 -
简单的 ArrayIndexOutOfBoundsException异常演示
/*2018.5.20 * ArrayIndexOutOfBoundsException:创建一个由100个随机数选择的整数构成的数组。提示用户输入数组的下标,然后显示对应的元素值。如果下标越界,就显示消息Out Of Bounds。 * 知识点:异常的基本思路,声明异常-抛出异常-捕获异常 */package book.exercise_ch9;import java.util.*;public...原创 2018-05-21 17:58:26 · 5032 阅读 · 0 评论 -
Eclipse巧妙使用Alt+/“快速输入System.out.println()与main函数
在Eclipse开发工具中,使用"Alt+/"可以根据已输入的字符,自动在库中筛选与之匹配的内容,比如:想快速输出main主函数:我只要输入 : ma+"Alt+/" Eclipse会自动筛选库钟带有ma的内容就可以弹出:或者说System.out.println(""):我只要输入:syso+"Alt+/" (注意,System.out.println("");必须在方法内才能快速输入,不在...原创 2018-05-21 21:07:13 · 3452 阅读 · 1 评论 -
作为一个类,系统都会自动产生一个不带参数的构造方法?
首先,这个问题的答案是:错误。构造方法是用来创建一个实例的,或者说是创建一个对象。如果类本身没有写构造方法,为了让类能拥有面向对象的能力,那么开发工具会默认添加一个"不可见的"构造方法,其实就是无参构造方法:class Car{ public void color() { System.out.print("I have color!"); }}public class Test1...原创 2018-05-21 22:41:15 · 5939 阅读 · 0 评论 -
如果一个类被abstract所修饰,说明这个类没有构造方法?
答案:错误。众所周知,被abstract修饰的类是抽象类,抽象类不能被实例化,但是可以被继承,也可以继承。那么根据代码:public class Test1{ public static void main(String[] args) { Car car=new Car(1); //异常:Cannot instantiate the type Car 不能实例化一个Car ca...原创 2018-05-21 23:06:50 · 5951 阅读 · 0 评论 -
从对象到继承,深入理解构造方法中super与this关键字的使用
构造方法:构造方法的意义:对象都有构造方法,构造方法是由类实例化或者说创建一个对象所用的方法如果没有,编译器加一个default(默认值)构造方法包括抽象类也有构造方法,抽象类的构造方法可以被子类调用,但是自己不能创建对象如何创建构造方法:类名() //无参构造{}类名(参数列表) //带惨构造{ 赋值语句}调用子类或父类的构造方法:this调用本类其...原创 2018-05-22 11:35:37 · 301 阅读 · 0 评论 -
Java的垃圾回收
垃圾回收机制是Java自带的工具,就跟"清洁工"一样,不定时的在程序中"检查",发现"垃圾",就会把它"回收"。回收是由JVM(Java虚拟机)的垃圾回收线程来完成的。为什么系统知道对象是否为垃圾?当对象为空指针的时候,即没有任何一个对象会引用到它,它就是"没用的",于是垃圾回收机制就会将其回收。...原创 2018-05-22 12:03:36 · 288 阅读 · 0 评论 -
怎样使用Runnable和Thread实现多线程?
什么是线程?可以这样理解:线程就像是赛道,每个赛道互不影响。但是我们一般的程序中都是顺序进行的,也就是一个赛道的跑完后才进行下个赛道。而多线程弥补了这一缺点,让多个赛道能够同时运作,因此大大加快了运行速度。比如我们的售票窗口,地铁的闸门,或者游戏里的飞机坦克他们都能在同一时间独立的运作,这就是多线程。怎样完成多线程?那肯定是用到Runnable接口和Thread类了,通过实现Runnable中的r...原创 2018-05-22 19:40:01 · 3022 阅读 · 0 评论 -
Java——泛型
为什么用泛型?在定义类时,不知道类是什么类型,而我们又不能定义多个类型,所以用一个模糊的类型——泛型来修饰类。给了代码更高的使用率,不会因为不同类型(ClassCaseException)而导致代码复用率低。代码理解:理解下述代码为何出错import java.util.*;//泛型需要引入uitl包public class Test1 { public sta...原创 2018-05-24 19:30:37 · 648 阅读 · 0 评论 -
List结构的集合基础(一)ArrayList类
前提:引入java.util包语法结构:创建ArrayList集合类:ArrayList <泛型> 集合名=new ArrayList <>(); 集合元素的加入:集合名.add(对象名)集合的遍历(举例):for(int i=0;i<list.size();i++){ Clerk temp=(Clerk)list.get(i); //用一个暂时变量...原创 2018-05-24 23:14:31 · 4011 阅读 · 0 评论 -
List结构的集合基础(二)LinkedList类
前提:引入java.util包语法结构:相比叫ArrayList集合类,LinkedList更加灵活,在它基础上新增了头和尾的操作,比如从开头增加,从开头删除等等创建LinkedList类:LinkedList <类型> 集合名=new LinkedList <>();集合元素的加入(常用):集合名.add(对象名); //顺序添加集合名.addFirst(对象名)...原创 2018-05-25 10:40:34 · 325 阅读 · 0 评论 -
List结构的集合基础(三)Vector类
前提:引入java.util包语法结构:相比较ArrayList集合类,Vector更加安全,在它基础上新增了头和尾的操作,比如从开头增加,从开头删除等等创建VectorList类:...原创 2018-05-25 12:23:06 · 794 阅读 · 0 评论 -
Map结构的集合基础(一)HashMap类
前提:引入java.util包简介:HashMap是Map结构的集合,最主要的属性是Key-Value(键值对),这样可以很方便的进行。在HashMap中是根据Key来进行存储的,如果Key相同,前值会被覆盖。语法结构:创建HashMap集合类:HashMap<类型,类型> 集合名=new HashMap<>();集合元素的加入:集合名.put(关键字,值);集合的查改:i...原创 2018-05-26 21:05:50 · 1410 阅读 · 1 评论 -
Map结构的集合基础(二)Hashtable类
Hashtable类和HashMap的用法基本一致曾经有道面试题这样问的:HashMap和Hashtable的区别是什么?答案:HashMap是存Map的,Hashtable是存table的。哈哈哈哈,不过确实有道理。Map结构的集合基础(一)HashMap类:点击打开链接欢迎各位在评论区留言探讨~~...原创 2018-05-26 21:13:48 · 156 阅读 · 1 评论 -
Map结构的集合基础(三)HashMap与Hashtable的区别
区别:历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java1.2引进的Map接口的一个实现。同步性:Hashtable是同步的。保证了Hashtable中的对象是线程安全的。而HashMap则是异步的,因此HashMap中的对象是线程不安全的。因为同步的要求会影响执行的效率,所以如果你不需要线程安全的集合,那么使用HashMap是一个很好的选择,这样可以避免因...原创 2018-05-26 21:52:18 · 254 阅读 · 1 评论 -
List结构的集合基础(四)ArrayList和Vector的区别
区别:同步性:Vector是同步的,这个类中的方法保证了Vector中的对象是线程安全的,而ArrayList则是异步的,因此ArrayList中的对象并不是线程安全的。因为同步的要求影响执行的效率,所以如果不需要线程安全的集合,那么使用ArrayList是一个很好的选择。数据增长:从内部实现机制来讲ArrayList和Vector都是使用数组来控制集合中的对象。当你向这两种类型中增加的元素的时候...原创 2018-05-26 22:19:41 · 200 阅读 · 1 评论 -
JavaGUI——布局管理器基础(一)边界布局BorderLayout
布局管理器介绍:概念:组件在容器(比如JFrame)中的位置和大小是由布局管理器来决定的。所以的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理。种类:Java共提供了五种布局管理器:流式布局管理器(FlowLayout)、边界布局管理器(BorderLayout)、网格布局管理器(GridLayout)、卡片布局管理器(CardLayout)、网格包布局管理器(GridBagLayou...原创 2018-05-27 16:41:04 · 1780 阅读 · 6 评论 -
JavaGUI——布局管理器基础(二)流式布局FlowLayout
流式布局介绍:FlowLayout布局,按照组件的添加次序将按钮组件(当然也可以是别的组件)从左到右放置在容器中。当到达容器的边界时,组件将放置在下一行中。FlowLayout可以以左对齐,居中对齐、以右对齐的方式排列组件。代码实现:import java.awt.*;import javax.swing.*;public class swing_3 extends JFrame{ //定...原创 2018-05-27 18:02:11 · 1837 阅读 · 1 评论 -
JavaGUI——布局管理器基础(三)网格布局GridLayout
网格布局介绍:GridLayout布局将容器分割成多行多列,组件被填充到每个网格中,添加到容器中的组件首先放置在左上角的网格中,然后从左到右放置其他的组件,当占满该行的所有网格后,接着继续在下一行从左到右放置组件。代码实现:import javax.swing.*; //导包import java.awt.*; //导包public class Swing_G...原创 2018-05-27 18:49:30 · 5743 阅读 · 6 评论 -
JavaGUI——swing组件基础(一)面板组件JPanel
为什么要有面板组件?在图形用户界面编程,很多时候只用三种布局管理器解决不了问题,在比较复杂的布局要求时,就需要使用布局管理器的组合使用。面板组件怎么用?JPanel:面板组件,非顶层容器,默认为流式布局。一个界面只可以有一个JFrame顶层容器,但是可以有多个JPanel面板组件,而JPanel上也可以使用FlowLayout,BorderLayout,GridLayout等各种布局管理器,这样可...原创 2018-05-28 11:40:15 · 8669 阅读 · 3 评论 -
JavaGUI——swing组件基础(二)文本框/密码框/标签组件
为什么要用这些组件?在图形用户界面编程中,我们常常会提供用户登录界面,比如登录到会员管理系统。这时候我们就会用到:文本框(JTextField)、密码框(JPasswordField)、标签(JLable)介绍三个组件:文本框:用于输出文本,是明文。(用户名后面的输入框)密码框:用于输入密码,输入的不是明文,而是一串符号。(密码后的输入框)标 签:用于显示一串字符。(文本框和密码框前的字就是标...原创 2018-05-28 11:59:34 · 11906 阅读 · 3 评论 -
JavaGUI——swing组件基础(三)单选框和复选框
为什么要用这两个组件?当我们提供用户注册界面的时候,常常会用到:复选框组件(JCheckBox)单选框组件(JRadioButton)介绍两个个组件:复选框组件(JCheckBox):可以多选的选择框单选框组件(JRadioButton):只能单选的选择框注意事项:同一组单选按钮必须先创建ButtonGroup,然后把单选框组件放入到ButtonGroup中,才能在面板添加单选框。代码实现:思路:...原创 2018-05-28 12:33:37 · 14370 阅读 · 2 评论 -
JavaGUI——swing组件基础(四)下拉框/列表框/滚动窗格组件
为什么要用到这三个组件?在提供用户调查几面的时候,如果选项比较多,那么就会用到:下拉框组件(JComboBox)列表框组件(JList)滚动窗格组件(JScrollPane)介绍三个组件:下拉框组件(JComboBox):点击箭头可以显示其他信息列表框组件(JList):可以跟列表一样显示信息滚动窗格组件(JScrollPane):与列表框结合使用,可以滚动显示代码实现:import java.a...原创 2018-05-28 13:15:07 · 16829 阅读 · 1 评论 -
JavaGUI——swing组件基础(五)拆分窗格JSplitPane
目标图:界面分析:看到图片占据了大部分空间,立刻想到了边界布局(BorderLayout)。左右两边都可以从头到尾显示,说明是拆分窗格(JSplitPane)。基本布局想好以后,看右部,可以用标签(JLabel)来导入图片。再看左部,是个列表框(JList)和滚动窗格(JSrocllPane)。介绍一下拆分窗格:拆分窗格(JSplitPane)是容器类组件,可以把容器按指定方向(横/竖)拆分。其构...原创 2018-05-28 22:09:53 · 5032 阅读 · 2 评论 -
JavaGUI——swing组件基础(六)多行文本框组件JTextArea
为什么要用多行文本框组件?文本框JTextField是单行输入,而多行文本框(JTextArea)可以实现多行输入。实战目标图:界面分析:看到上部占了大部分空间,决定使用边界布局。下部的最下部很像边界布局的SOUTH部分,在这部分中有两种组件,一种按钮组件JButton,一种下拉列表JComboBox,并且采用流式布局的右对齐。上部采用拆分窗格将两个多行文本框放在窗格两...原创 2018-05-29 12:09:31 · 24220 阅读 · 1 评论 -
JavaGUI——swing组件基础(七)选项卡窗格JTabbedPane
为什么要有选项卡组件?在GUI编程中,会涉及到选项卡组件,比如登录界面,你可以选择账号密码登录,还是手机登录,还是邮箱登录。选项卡组件怎么用?选项卡组件JTabbedPane,创建好选项卡后可以添加很多个选项,每个选项都可以有自己的面板,在下例中,只添加了三个选项。代码实现:import java.awt.*; //导包import javax.swing.*;public cl...原创 2018-05-29 18:26:30 · 5245 阅读 · 2 评论 -
JavaGUI——swing组件基础(八)菜单栏/菜单/子菜单组件JMenuBar/JMenu/JMenuItem
介绍这三个组件:菜单栏组件JMenuBar:该组件可以添加菜单,添加的菜单会排成一行。菜单栏JMenu:可以显示的一个个的菜单,该组件可以添加子菜单,也可以添加菜单,添加的菜单会排成一列。子菜单JMnuItem:可以添加到菜单中。其实这个三个组件还是有点绕人的,但是大家做一遍就理解了,光看不容易懂。如何创建组件:JMenuBar name=new JMenuBar(); //创建菜单栏JMe...原创 2018-05-30 14:10:30 · 16695 阅读 · 4 评论 -
JavaGUI——绘图技术基础
介绍:绘图技术一般使用在面板JPanel上,绘图技术是重写JPanel的paint制图方法,使用的Graphics制图类来完成各种各样的图案绘制。使用paint制图方法绘制的图形,可以在面板自由的控制位置,不会受面板流式布局的影响。绘图原理:Component类提供了两个和绘图相关的方法:paint(Graphics g)绘制组件外观repaint()刷新组件外观paint方法会自动被调用的情况:...原创 2018-05-31 19:23:01 · 4981 阅读 · 5 评论 -
JavaGUI——界面编程思路
编程思路:定义组件 -> 创建组件 -> 设置布局 -> 添加组件 -> 设置界面属性举个案例:import java.awt.*;import javax.swing.*;public class Text_10 extends JFrame{ //定义组件 JButton jb1; public static void main(String[] args)...原创 2018-05-31 23:13:31 · 1551 阅读 · 0 评论