- 博客(39)
- 收藏
- 关注
原创 shell脚本修改服务器时间
前言导师下发的任务需要改服务器时间脚本方便测试在测试环境测试,之前没接触过,啥也不说了,直接开干,花了几个小时写了个简陋的脚本#!/bin/bashecho $1if [ ! -n "$1" ];then#systemdate=`clock -r`#echo "$systemdate"#date -s $systemdateclock --hctosysecho "参数"else#获取系统时间systemtime=`date "+%Y-%m-%d %H:%M:%S"`echo "原
2022-01-21 11:21:50
2674
原创 java基础(IO流)
java中常见的IO流1.流的概念2. 流的分类3 .流的结构4.字节流4.1 概述4.2 控制台三级目录1.流的概念在计算机中,流是个抽象的概念,是对输入输出设备的抽象。在Java程序中,对于数据的输入/输 出操作,都是以"流"的方式进行数据以二进制的形式在程序与设备之间流动传输,就像水在管道里流动一样,所以就把这种数据传输的 方式称之为输入流、输出流。这里描述的设备,可以是文件、网络、内存等流具有方向性,可以分为输入和输出。以java程序本身作为参照点,如果数据是从程序“流向”文件,那么这
2021-08-20 15:36:33
284
原创 TimeUnit的用法
TimeUnit的用法1.TimeUnit的介绍2.TimeUnit的作用3.TimeUnit讲解1.TimeUnit的介绍TimeUnit是JDK封装好的java.util.concurrent包下面的一个类,表示给定单元粒度的时间段2.TimeUnit的作用1.时间颗粒度转换2.线程延时3.TimeUnit讲解这是所有的颗粒度。TimeUnit.DAYS //天TimeUnit.HOURS //小时TimeUnit.MINUTES //分
2021-08-20 14:32:21
5125
原创 关于map里的ImmutableMap.of方法
ImmutableMap1.ImmutableMap的结构2.ImmutableMap的优势3.ImmutableMap的不足1.ImmutableMap的结构ImmutableMap是个map集合下的一个不可变的子类map对象,查看ImmutableMap源码你会发现一旦创建添加完键值对,后面就不能再添加改变这个map了。static class |ImmutableMap.Builder<K,V>2.ImmutableMap的优势1.可以用ImmutableMap.of(k1,v
2021-08-20 09:56:36
14126
原创 StringUtil以及String的小知识
StringUtil以及String的小知识StringUtil空字符串取值问题随意记录下开发过程中的小细节StringUtilStringUtil是JDK封装的关于String字符串的工具类,其中有很多方法,后面我用到了在补充,今天来说的是isBlank()方法。在开发中,常需要做变量是否为空的逻辑判断,但是用xx==null是不是太捞了,这时候我们可以用这个方法,StringUtil.isBlank(xx),这返回Boolean类型直接用于判断,但是前提xx是String类型变量,其余对象判空还
2021-08-20 09:27:19
443
原创 PDF转Word
PDF转word1.下载Spire for PDF依赖2.把jar包添加到maven仓库(从远程仓库拉取可以忽略)3.PDF转word1.下载Spire for PDF依赖<dependency><groupId>e-iceblue</groupId><artifacId>spire.pdf</artifacId><version>17.3.0</version></dependency>这里的g
2021-08-10 09:47:25
173
原创 idea启动项目显示端口号被占用
端口号被占用1.找到对应的端口号2.杀进程这是因为你没有手动关闭Tomcat,导致后台进程一直在占用着这个端口号,现在为你解决这个问题1.找到对应的端口号idea报错会显示项目启动时哪个端口号被占用了,这里以1099为例用管理员身份打开cmd窗口。输入以下命令netstat -o -n -a | findstr :1099这个就是1099端口号的pid2.杀进程taskkill /F /PID 344048然后会显示已中止PID为344048的进程,就说明成功了,就能成功启动项目
2021-06-28 15:43:43
2414
原创 idea合并Git分支
合并Git分支切分支合并分支在日常开发中,我们经常需要在原有的代码改bug或者写需求,但是你改过一段后不能确定对不对,不对的话不就影响原来项目了,比较麻烦,所以就需要你切出个新分支拉写,等写完校验差不多再合并到主分支上切分支点击你idea右下方的分支版本然后点击new branch输入你的分支名,点击OK就行了,idea会自动创建并切换到新建分支,并吧你之前九分支改动带到新分支合并分支点击分支版本,如上面第一步我这是把dev-config分支合并到dev-1.3.0分支,大家具体的自己
2021-06-28 10:30:04
271
原创 Git切换分支命令
GIT切换分支命令1.查看远程分支2.查看本地分支3.切换分支程序员在开发和管理项目的时候,往往会会切除多个分支来进行使用,现在就来谈谈如何切换分支1.查看远程分支 1. git branch -a先到你的项目根目录下打开Git,在命令行输入上面指令就能查出远程所有分支了。2.查看本地分支2.git branch这一步可有可无,只是让自己知道项目现在处于哪个分支之下3.切换分支3.git checkout -b 想要的分支名 (如果本地有这分支的话,-b就可以省略
2021-06-25 16:35:33
42987
原创 Git放弃修改,强制覆盖本地代码
1.git fetch --all2.git reset --hard origin/dev3.git pull1.第一步是拉取所有更新,但不同步,以确定远程有哪些分支2.第二步是吧远程你所选的分支代码强制同步到本地代码,也就是强制覆盖3.第三步推送到远程分支(这步可有可无,第二步其实已经包括在内了)...
2021-06-25 16:23:21
1605
原创 电脑浏览器无法浏览页面
电脑浏览器无法浏览页面这是针对谷歌浏览器的方法#原因有很多,今天我分享一个我遇到的一个问题及解决办法新电脑所有浏览器都无法访问页面,网络没有问题,这可能是注册表里有些问题了,可以试试尝试下这个方法这是针对谷歌浏览器的方法百度浏览器也差不多...
2021-03-25 14:42:06
210
原创 Redis详解
Java中运用RedisJedis1. Jedis 是 Redis 官方首选的 Java 客户端开发包。2.jedis的相关jar包3.Jedis对象的使用1)创建Jedis对象2)使用Jedis对象3)关闭Jedis对象4.Jedis对Redis中key的操作5.Jedis对Redis中string的操作6.Jedis对Redis中hash的操作7.Jedis对Redis中其他类型的操作8.Jedis处理Redis中的事务9.JedisPool的使用(连接池)1)创建JedisPool2)使用JedisP
2020-11-27 17:21:54
489
原创 Redis的概念及基本命令
Redis1.Redis是什么2.Redis优势3.Redis的下载4.Redis的安装5.Redis简单的测试6.Redis配置参数介绍7.Redis支持的数据类型(主要指的value,key一般就是字符串)8.Redis对key的操作命令9)Redis对字符串(String)的操作命令11)Redis对哈希(Hash)的操作命令12)Redis对列表(List)的操作命令13)Redis对集合(Set)的操作命令14)Redis对有序集合(sorted set)的操作命令15)Redis中的事务1.R
2020-11-27 17:01:17
150
原创 在方法名称中发现无效的字符串, HTTP 方法名必须是有效的符号.
网页输入地址,然后Tomcat报以上错误,问题出在你输入的网址默认是HTTPS协议,而我们需要的是http协议,所以不能用浏览器的默认响应头,自己把网址写进去
2020-10-12 09:18:51
22262
6
原创 Java基础(线程方法,线程同步,死锁)
线程21 sleep方法2 join方法3 interrupt方法4 线程安全5 线程同步6 synchronized7 wait和notify8 死锁1 sleep方法线程类Thread中的sleep方法:public static native void sleep(long millis) throws InterruptedException;该静态方法可以让当前执行的线程暂时休眠指定的毫秒数:public class Test { public static void mai
2020-08-30 19:51:49
228
原创 Java基础(进程与线程,线程的创建)
线程11 进程和线程1.1 进程1.2 线程2 并发和并行3 时间片3.1 概述3.2 调度4 main线程5 线程的创建和启动6 Runnable接口7 线程的名字8 线程的分类9 线程优先级10 线程组11 线程状态1 进程和线程1.1 进程在计算机中,进程代表了内存中正在运行的应用程序,计算机中的资源(cpu 内存 磁盘 网络等),会按照需求分配给每个进程,从而这个进程对应的应用程序就可以使用这些资源了。在操作系统中,启动一个应用程序的时候,会有一个或多个进程同时被创建,这些进程其实就表示了
2020-08-30 19:36:58
368
原创 Java基础(异常)
Java基础1 异常1.1 概述1.2 异常体系1.3 异常种类1.4 异常传播2 异常抛出2.1 自动抛出异常2.2 手动抛出异常3 异常捕获3.1 概述3.2 try-catch3.3 捕获多种异常3.4 finall语句4 自定义异常4.1 自定义异常的原因4.2 如何自定义异常5 断言 assert1 异常1.1 概述程序在运行过程中,由于意外情况导致程序发生异常事件,默认情况下发生的异常会中断程序的运行。在Java中,把常见的异常情况,都抽象成了对应的异常类型,那么每种异常类型都代表了一种
2020-08-26 18:54:18
225
原创 java基础(泛型,枚举,反射)
java基础2 泛型2.1 概述2.2 集合的泛型2.3 泛型的种类2.4 泛型的类型2.5 通配符2.6 泛型边界2.7 类型擦除3 枚举3.1 概述3.2 意义3.3 获取枚举对象3.4 枚举中定义属性和方法3.5 枚举中定义构造器3.6 枚举中定义抽象方法3.7 枚举类型实现接口3.8 枚举使用总结4 反射4.1 概述4.2 Class类型4.3 获取Class对象4.4 获取类的信息4.5 反射访问属性4.6 反射调用方法4.7 反射创建对象2 泛型泛型是JDK1.5及以上才可以使用的特性/语
2020-08-20 16:10:26
409
原创 学生信息系统(用些基本知识实现一点小功能,不涉及数据库)
学生信息系统用集合存储学生信息,实现增删改查功能1.学生类2.功能实现类用集合存储学生信息,实现增删改查功能1.学生类public class Student implements Comparable<Student>{ private long id; private String name; private double score; public long getId() { return id; } public void setId(long id) {
2020-08-19 14:25:22
211
原创 java基础(集合)
集合1 集合1.1 概述1.2 Collection接口1.3 迭代器1.4 foreach循环1.5 数据结构1.6 List集合1.7 List实现类1.8 Set集合1.9 Set实现类1.10 Map集合1.11 Map实现类1.12 Map的遍历1.13 集合工具类1.14 案例1 集合1.1 概述集合是JavaAPI中提供的一种容器工具,可以用来存储多个数据。集合和数组之间的区别有:数组的长度是固定的,集合的长度是可变的数组中存储的是同一类型的元素,集合中存储的数据可以是不同类型的
2020-08-17 15:13:22
211
原创 java基础(interface,访问控制,内部类,包装类,Object常用方法)
Java基础1.interface1.1 概述1.2 接口实现1.3 接口继承1.4 多态1.5 案例2 访问控制2.1 概述2.2 案例3 内部类3.1 成员内部类3.2 静态内部类3.3 局部内部类3.4 匿名内部类4 包装类4.1 概述4.2 案例4.3 自动装箱/拆箱5 Object中常用方法5.1 toString方法5.2 getClass方法5.3 equals方法5.4 hashCode方法1.interface引用数据类型:类、数组、接口1.1 概述接口是除了类和数组之外,另外
2020-08-15 15:18:23
355
原创 创建子类对象的顺序
创建子类对象的顺序1.父类静态代码块2.子类静态代码块3.初始化父类的属性4.执行父类匿名代码块5.执行父类构造方法6.初始化子类的属性7.执行子类匿名代码块8.执行子类构造方法1.父类静态代码块2.子类静态代码块3.初始化父类的属性4.执行父类匿名代码块5.执行父类构造方法6.初始化子类的属性7.执行子类匿名代码块8.执行子类构造方法...
2020-08-12 17:01:14
248
原创 java基础(封装,方法重载,创建和初始化对象,构造器,继承,super关键字,方法重写,多态,instanceof)
java基础1 封装2 方法重载3 创建和初始化对象4 构造器5 继承6 super关键字7 方法重写8 多态9 instanceof10 引用类型的转换11 案例1 封装面向对象编程语言,需要对现实世界中的事物进行抽象、模拟。现实世界中的对象属性,都是隐藏在对象内部的,外界无法直接操作和修改。在类中定义属性的时候,一般需要把属性隐藏起来。如果外界需要访问这个属性,那么就提供公共方法对其访问例如,public class Student{ //使用private关键字来修饰
2020-08-11 15:21:36
205
原创 java基础(类,对象,引用,内存,方法,参数传递,this关键字)
java基础1 OOP2 类3 对象4 引用5 内存6 方法7 参数传递1 OOPOOP,编写对象编程OOP(object oriented programming),面向对象编程把构成问题的各种事物,抽象成各个对象,这些对象具有解决问题的行为(方法),同时对象还可以具有解决很多类似问题的行为(方法),而不只是能解决一个问题。POP(procedure oriented Programming),面向过程编程分析出,解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,然后依次调用就
2020-08-10 15:58:33
354
1
原创 关于数组的基础知识
数组0. 前置知识(ps:先稍微了解一下jvm)1 数组概述2 数组类型3 数组变量4 数组对象5 数组长度6 数组下标7 默认值8 数组初始化9.数组常见的问题10. 数组遍历9 数组拷贝10 工具类11 案例12 二维数组12.1 理解二维数组12.2 声明和创建12.3 赋值12.4 取值12.5 案例0. 前置知识(ps:先稍微了解一下jvm)虚拟机栈存储局部变量堆此内存区域的唯一目的就是存放对象实例,Java世界里“几乎”所有的对象实例都在这里分配内存。C:方法区
2020-08-06 14:47:58
705
原创 排序算法
1.冒泡排序package sort;//冒泡排序public class BubbleSort { public static void main(String[] args) { int[] dong = {3, 9, -1, 10, -2}; boolean flag=false;//标识变量,表示是否进行交换 for (int i = dong.length - 1; i > 0; i--) {
2020-08-05 19:53:36
139
原创 实现两个int类型变量值的交换,要求不使用中间变量
这里主要用两种方法实现 public static void jiaohuang(int a,int b){ a=a+b; b=a-b; a=a-b; System.out.println("a的值为:"+a); System.out.println("b的值为:"+b); } public static void jiaohuan2(int a,int b){ a=a^b; b
2020-08-04 19:52:46
559
原创 传入一个int数,要求将该数的低16位置1,高16位不变,将结果以十进制形式输出
这个题主要是懂得用“|”运算符,话不多说,直接上代码 public static void way2(int n){ int temp = n | 65535; System.out.println(temp); }代码解析:先想明白用|运算符解决这个问题,然后就是了解|运算符的作用|的作用:1|1=1,1|0=1,0|1=1,0|0=065535:0000 0000 0000 0000 1111 1111 1111 1111(ps:65535的二进制)
2020-08-04 19:29:51
698
原创 传入一个int数,要求清除该数的低8位,高24位不变,将结果以十进制形式输出
这个题目主要看你能不能想到用“&”这个位运算符,想到了就很简单,没想到就要走很多弯路,直接上代码 public static void way1(int n) { int temp = n & (Integer.MAX_VALUE - 255); System.out.println(temp); }代码思路:一个int型整数换成二进制表示有32位,怎么简便的达到题目要求,这时候就要用到“&”位运算符&的作用
2020-08-04 19:13:42
494
原创 java基础3(变量,操作符,类型转换,循环语句,continue,break)
java基础1.变量描述1.1 变量作用1.2.变量的使用:1.3.变量的种类1.4.局部变量1.5. 实例变量2.操作符2.1.赋值操作符2.2.比较操作符2.3 相等操作符2.4 算术操作符2.5 移位操作符2.6 位运算符2.7 逻辑运算符2.8 条件操作符3.类型转化3.1 基本类型3.2 引用类型4 流程控制4.1 if4.2 switch4.3 for4.4 while4.5 do-while4.6 循环嵌套5 break6 continue7 label1.变量描述1.1 变量作用程
2020-08-04 15:46:20
203
原创 java基础2(变量)
java基础1.基本类型变量1.1.**变量一定是要求先声明、再赋值、再使用**1.2.赋值注意事项1.2.1 手动转换1.2.2 自动转换2.引用类型变量1.基本类型变量1.1.变量一定是要求先声明、再赋值、再使用int a;//声明变量a = 1;//给变量赋值System.out.println(a);//使用变量的值int b = 1;//声明变量的同时就进行赋值System.out.println(b);//使用变量的值int c,d = 1; //同时声明 c,d变量,并且值
2020-08-04 10:16:08
116
原创 java基础1(注释、标识符、关键字、基本类型)
java基础1.注释1.1.单行注释1.2.多行注释1.3.文档注释2.符号2.1.分号2.2.空白3.标识符3.1命名规则3.2.推荐规则4.关键字5.基本类型5.1 字节5.2 boolean5.3 char5.3.1 字符编码5.3.2 常见编码5.3.3 编码表5.3.4 char值5.3.4 转义字符5.4 整型5.5 浮点型1.注释程序中的注释,用来说明某段代码的作用,或者说明某个类的用途、某个属性的含义、某个方法的功能,方法参数和返回值的数据类型、意义等。注释可以增强代码的**可读性**
2020-08-03 16:24:46
327
原创 如何打包class文件和解压jar包
jar包使用如何将自己的class文件进成打包?1. 把当前目录中的Hello.class打到hello.jar这个jar包中(ps:以dd.clsss为例)2.把当前目录下的dd.class 以及 ChenFa.class打到hello.jar这个jar包中3.把当前目录下的所有的class打到hello.jar这个jar包中4.把当前目录下的bin文件夹里面的所有文件打到这个jar包中,同时【包含】bin目录本身5.把当前目录下的bin文件夹里面的所有文件打到这个jar包中,但是【不包含】bin目录本身
2020-08-01 23:20:45
1287
原创 package关键字解析
pacakge简介2.包规则1. package其实就是类的**命名空间**,用来唯一标识这个类的,避免和的类的名字重复2. 一般情况,一个公司、组织、社团中所定义的包的名字,就是他们官网的域名(倒过来),因为域名一定是全球唯一的,不可能有俩个一样的域名。3. 类加上了包名,编译之后的效果3.规则1. 如果运行的Hello类,**没有指定包**,Hello类一定对应的是Hello.class ( 固定要求)2. 如果运行的Hello类,**指定了包**,例如是package com.briup.test;
2020-07-31 20:48:19
4277
原创 手把手教你安装JDK
@[安装JDK)一.下载jdk的安装包从Oracle官网把安装包下载下来,一套流程就是注册个账号然后找到你想下载的相应的版本直接下载下来,网速比较慢,如果你能另辟蹊径下载到就更好了,这一步就不多说了。二.安装jdk(ps:注意安装的路径不要有中文,会造成不必要的麻烦,也显得你专业)1.双击安装包2.一直点下一步然后一直跟着安装向导走就行,安装目录最好就是默认目录也就是C盘(ps:还是那句话,避免以后编程不必要的麻烦,你C盘也不差那么一点内存)3.简述下目录文件的作用三.配置环境变量1
2020-07-30 17:34:03
268
原创 linux虚拟机中ftp的安装
@[ftp的安装)1.更新apt-get软件源 sudo apt-get update执行这一步可能会出现以下的错误,那是因为你的sudoers文件权限不够,可以做如下指令(ps:切换到root用户下修改sudoers文件权限)su rootchmod 0440 /etc/sudoersexit2.安装ftp服务端 sudo apt-get install vsftpd -y(ps:我这里是一件装过了,所以显示的信息不一样)3.修改ftp用户的密码 sudo passwd f
2020-07-29 20:13:28
1471
原创 Linux系统中vi编辑器的操作指令
vi编辑器的操作指令1. vi 中三种模式2.、调用vi2.vi1,命令模式下-->切换到编辑模式(ps:直接输指令,会自动跳到编辑模式)2.直接命令 (命令模式)1. 删除2.修改文本3.复制文本4.保存结束退出(ps:以下所有操作指令都用d.txt为例子,其里面的内容是2020的日历)1. vi 中三种模式 屏幕左下角1,命令模式 没有插入 没有:2,编辑模式 -- 插入 --3,底行模式 : 有光标在闪命令模式--->编辑模式 i 编辑模式---
2020-07-29 18:56:53
714
原创 常用的Linux操作指令
Linux系统的操作指令操作指令1.clear2.pwd3.passwd4.passwd username5. su username(ps:以user1为例)6.cd:切换目录7.ls [options] pathname:列出文件和目录的列表8.文件类型(2).rw-rw-r--:代表文件权限(例子)9.ls -F: 显示文件类型1.ls -d: 显示指定目录2.ls -ld /opt: 显示/opt目录自身的长列表信息3.ls -l /opt: 显示/opt目录下的所有文件和目录的长列表信息10.c
2020-07-29 10:21:49
271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人