- 博客(72)
- 收藏
- 关注
原创 解决mysql时区问题
set global time_zone = '+8:00'; flush privileges;以上的操作都是在查询中执行就行了
2021-11-30 22:16:42
162
原创 missing script:dev
npm ERR! A complete log of this run can be found in:npm ERR! C:\Users\陈俊\AppData\Local\npm-cache_logs\2021-11-29T12_51_23_582Z-debug.log在script里,并没有dev,而是serve,应该用npm run serve命令运行vue项目既可以
2021-11-29 21:07:01
623
原创 实习到实习这段历程
文章目录标题一:杭州实习标题二:铁路面试标题一:杭州实习我是21年的毕业生,本科学的物联网工程。21年过完年大概是正月十三背包去外面找工作,刚开始选择了离家比较近的武汉,投了好几天也有面试感觉更多是hr为了完成业绩或者说这个公司根本不想要人。可能也是因为这个城市大学比较多,竞争压力是比较大的,后来我选择了杭州这个对互联网 比较友好的城市。面试了大概三四家吧,就有两个offer,虽然都不怎么好,但是总算是看到了希望,肯定了之前自己在学校自学的成效,不知道怎么想的选择了一个好点的公司就入职了,入职了之后才发
2021-11-25 20:21:13
2938
原创 懒汉式和懒汉式线程安全(双检索)
首先写一个单例的懒汉模式:package THREAD;/** 懒汉模式*/public class Sluggard { private static Sluggard instance =null; public Sluggard(){ } public static Sluggard Getintance(){ if(instance==null){ instance=new Sluggard();
2021-03-07 22:22:20
852
原创 Interger和Int的区别
1:int是基本数据类型2:Interger是int的包装类,他有一个final修饰的int字段springBean的生命周期:
2021-03-07 22:03:52
1590
原创 关于异常的高频面试题
1:Exception和error的区别他俩都是继承自超类Throwable,在java中只有Throwable类型的实例才能捕获或者抛出异常。Error 类及其子类。程序中无法处理的错误,表示运行应用程序中出现了严重的错误。特点:此类错误一般表示代码运行时 JVM 出现问题。通常有 Virtual MachineError(虚拟机运行错误)、NoClassDefFoundError(类定义错误)等。比如 OutOfMemoryError:内存不足错误;StackOverflowError:栈溢出错误
2021-03-07 17:34:01
320
原创 关于jvm中的方法区和常量池问题
1:方法区:首先这个问题要分jdk:1.8之前是独立的,里面只要是装着类的信息,代码和静态变量。方法区和堆的物理存储是连接在一块的,但是这种做法会出现一些问题,程序中加载的jar包和类过多的话,就会出现啊oom(内存溢出)的错误。1.8之后:方法区不存在的,但是多了一个元空间,他就是用来代替方法区的,但是元空间和堆在物理空间上是隔离的,虽然性能降低了,但是解决了oom问题,元空间的地址不是jvm地址而是你的电脑本地内存,只要你的本地内存充足,就可以一直运行。2:常量池1.8之前常量池在方法区中,
2021-02-28 16:05:52
232
原创 java获取GET和POST请求参数
URL和参数列表一 获取请求方式request.getMethod(); get和post都可用,二 获取请求类型request.getContentType(); get和post都可用,示例值:application/json ,multipart/form-data, application/xml等三 获取所有参数keyrequest.getParameterNames(); get和post都可用,注:不适用contentType为multipart/form-data
2021-02-28 15:54:18
1042
原创 简述GET和POST的区别
表面的区别GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,而POST不可以。GET请求会被浏览器主动cache,而POST不会,除非手动设置。GET请求只能进行url编码,而POST支持多种编码方式。GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。get方式提交数据的大小(一般来说1024字节),http协议并没有硬性限制,而是与浏览器、服务器、操作系统有关,而POST理论上来说没有大小限制
2021-02-28 15:51:55
269
原创 start()和run()的区别
start() : 它的作用是启动一个新线程,新线程会执行相应的run()方法。start()不能被重复调用。run() : run()就和普通的成员方法一样,可以被重复调用。单独调用run()的话,会在当前线程中执行run(),而并不会启动新线程!下面来看一段代码加深理解吧!class MyThread extends Thread{ public MyThread(String name) { super(name); } public void
2021-02-28 15:48:39
524
原创 通过字节码分析字符串面试题和intern()方法
首先给大家一段代码判断一下:String x="abc"+"cba";String y="abccba"; System.out.println(x==y);String d="aa";String z="bb";String s=z+d;String e="aabb"; System.out.println(s==e);大家思考一下两个输出语句的结果是?第一个是true,第二个是false为什么呢?第一个从字节码来看x=“abccba”;然后创建y的时
2021-02-21 18:08:05
124
原创 java整数型常量池
首先看一段代码: Integer a=127; Integer b=127; System.out.println(a==b); Integer x=128; Integer y=128; System.out.println(x==y);输出结果是:truefalse问题来了127和128只差一个数为啥输出结果就是不一样呢?看一下Integer的源码那你就知道了首先在源码里面有一个叫IntegerCach
2021-01-22 21:26:45
583
原创 System.out.println()源码分析
首先来看一段代码: Object object=new Object(); object=null; System.out.println(object); System.out.println(object.toString());大家可以先自己想一下会输出什么?正确的输出就是下面所示:nullException in thread "main" java.lang.NullPointerException那么就来分析一下这句话
2021-01-22 18:45:00
553
1
原创 unable to find valid certification path to requested target
首先要知道这句话是什么意思?翻译的大概意思就是:无法找到到请求目标的有效认证路径。贴出我的报错:我是百度了挺多的,分两步解决了。前提条件是你的gradle,sdk,jdk,都是已经配置好的。我的gradle是本地的。第一步就是添加证书我也不知道有没有用,但是添加就完事了,首先找到你的setting,找到下面位置添加证书。没有的可以私聊我免费发给你。添加之后apply就行了。第二步就是:如图俩个位置上添加以来仓库地址 maven { url 'https://maven.aliyu
2020-12-23 14:53:51
819
原创 强制类型转换
先看看这道题:以下 b 的值是: byte b = (byte)129;答案是:-127解释:这题考察的就两个知识点:一、强制转换(主要涉及各个类型占几个字节,这里我只简单说一下byte型占一个字节,也就是8位,int型4个字节,32位);二、在计算机系统中,数值一律用补码来表示(存储)正数:补码=反码=原码(当然以二进制形式表达)129 int类型(4个字节)二进制: 00000000 00000000 00000000 10000001强制转换byte型后,只有一个字节即 1000000
2020-11-30 17:07:45
382
原创 关于静态代码块,构造方法,构造代码块的执行先后顺序
总结一下:1.执行顺序:静态代码块>构造代码块>构造方法理由:静态代码块(static{})在类加载的时候执行一次。构造代码块({}内的部分)在每一次创建对象时执行,始终在构造方法前执行。构造方法在新建对象时调用( 就是new的时候 )。注意: a.静态代码块在类加载的时候就执行,所以它的优先级高于入口main()方法。b.当三种形式不止一次出现,同优先级是按照先后顺序执行。来看一道题巩固一下:public class B{ public static B t1 = n
2020-11-30 15:29:54
2758
原创 值传递和引用传递的问题
先看看下面这段代码的输出结果:public class Example{ String str=new String("tarena"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and ");
2020-11-29 15:39:06
282
原创 关于抽象类和接口的默认访问权限
关于抽象类JDK 1.8以前,抽象类的方法默认访问权限为protectedJDK 1.8时,抽象类的方法默认访问权限变为default关于接口JDK 1.8以前,接口中的方法必须是public的JDK 1.8时,接口中的方法可以是public的,也可以是default的JDK 1.9时,接口中的方法可以是private的...
2020-11-29 15:11:51
1557
1
原创 “==“和“euqals()“的用法
先看看这个题你会不会做?==如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;如果作用于引用类型的变量,则比较的是所指向的对象的地址对于复合数据类型(类),使用equals()和“==”效果是一样的,两者比较的都是对象在内存中的存放地址(确切的说,是堆内存地址)。equals注意:equals方法不能作用于基本数据类型的变量如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;诸如String、Date等类对equals方法进行了重写的话,比较的是所
2020-11-28 23:59:20
274
原创 java面试知识点总结(1)—垃圾回收
首先大家先做一道题。1、在java中,对象的内存在哪个时刻回收,取决于垃圾回收器何时运行。2、一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize()方法, 并且在下一次垃圾回收动作发生时,才会真正的回收对象占用的内存(《java 编程思想》)3、在C++中,对象的内存在哪个时刻被回收,是可以确定的,在C++中,析构函数和资源的释放息息相关,能不能正确处理析构函数,关乎能否正确回收对象内存资源。在java中,对象的内存在哪个时刻回收,取决于垃圾回收器何时运行,在java中,所有
2020-11-26 23:23:45
157
原创 快速排序
package sort;import java.util.Arrays;public class quick {//快速排序 public static void quick_sort(int s[], int l, int r) { if (l < r) { //Swap(s[l], s[(l + r) / 2]); //将中间的这个数和第一个数交换 参见注1 int i = l, j = r, x = s[l];
2020-11-18 21:18:45
146
原创 插入排序
文章目录一:简单的插入排序一:简单的插入排序1:插入排序介绍插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。2:插入排序(Insertion Sorting)的基本思想是:把 n 个待排序的元素看成为一个有序表和一个无序表,开始时有 序表中只包含一个元素,无序表中包含有 n-1 个元素,排序过程中每次从无序表中取出第一个元素,把它的排 序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。package sort;
2020-11-17 19:42:17
108
原创 查找算法归纳(顺序,二分,插值,斐波那契)
文章目录一:顺序查找(线性查找)二:二分查找三:插值查找四:斐波那契查找一:顺序查找(线性查找)这个查找算法是比较简单的一种,直接在数组中一个一个查找就行了。/** * 线性查找 */public class SeqSearch { public static void main(String[] args) { int arr[]={3,5,2,6,8}; int index=seqSearch(arr,5); if(index==-1)
2020-10-10 22:04:39
136
原创 Java八大数据类型
文章目录一:数据类型1:整型数据类型2:浮点数据类型二:字符型三:布尔型:boolean一:数据类型1:整型数据类型byte:byte a =127; //1个字节,8位 -27~27-1short:short c=10;//2个字节,16位 -2^15~ 2^15-1int:int b = 0x10;//4个字节,32位 -231~231-1 Integerlong:long d = 10L;//8字节,64位 -263~263-1,在后面加l或L2:浮点数据类型float、doubl
2020-09-29 21:09:58
211
原创 linux下zookeeper的安装与简单使用
文章目录一:解压二:配置三:修改环境变量四:操作一:解压tar -xzvf zookeeper-3.4.8.tar.gz你自己的名字改成你自己的。二:配置zoo_sample.cfg为样例配置文件,需要修改为自己的名称,一般为zoo.cfg修改zoo_sample.cfg 的文件名为 zoo.cfgmv zoo_sample.cfg zoo.cfg然后编辑 zoo.cfg 配置文件vi zoo.cfg然后,按“i”,进入编辑模式,在zoo.cfg文件中
2020-09-27 20:12:04
152
原创 Linux环境下搭建JDK环境
文章目录一:解压文件二:配置环境三:检验一:解压文件把你的jdk包导入你的linux系统你想放置的文件夹中,然后执行解压命令。tar -xzvf jdk-8u74-linux-x64.tar.gz你的jdk名字是啥你就写啥跟我可能不一样,,然后坐等解压完成。二:配置环境我们开始配置环境变量,Linux将环境变量存在 /etc/profile 中,到这个目录下(etc)执行:vim profile#set java environmentexport JAVA_HOME=/usr/l
2020-09-27 20:01:43
110
原创 springboot集成redis中连接redis时出现的问题
运行redis时,出现 java.net.ConnectException: Connection refused: connect或者是其他问题,只要是关于连接redis的问题都可以看下面的解决办法,我百度了一下午才解决。我的redis只允许本地访问这个地方我设置了linux虚拟的网址,如果你的springboot想要连接redis,必须这样做除非你的redis允许其他用户连接,否则请修改这个地方一定要选择no,你的程序才能连接上redis。实在不行你也可以在是springboot中配置一下
2020-09-26 21:48:52
820
原创 windows下的mysql管理工具连接linux中的mysql
grant all privileges on *.* to root@'%' identified by '123456';flush privileges;刷新下权限,然后去mysql管理工具去连接就行了123456就是你的数据库密码,root就是mysql账号可以改成自己的。—————————————————————————————你也可以通过ssh连接但是有点麻烦这两个地方都要配置真心挺麻烦,而且你的java代码还不好写,用第一种方法的话url可以这样写:url=jdbc:m
2020-09-22 21:50:20
605
原创 CentOS上的linux中安装mariaDB数据库
文章目录一:安装镜像源二:安装bash-completion超级补全包三:安装MySQL分支版本一:安装镜像源rm -rf /etc/yum.repos.d/*切记后面的网址是不能不复制的wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repoyum makecache二:安装bash-completion超级补全包yum install -y bash-comp
2020-09-22 17:10:49
443
原创 nginx静态代理
文章目录一:Nginx静态代理实现方式方式一:方式二:举例(方式二):一:Nginx静态代理实现方式方式一:在nginx.conf的location中配置静态资源的后缀例如:当访问静态资源,则从linux服务器/opt/static目录下获取(举例)location ~ .*.(js|css|htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ { root /opt/static
2020-09-14 21:00:29
447
原创 负载均衡
文章目录一:负载均衡1:硬件负载均衡2:软件负载均衡二:nginx实现负载均衡三:负载均衡实现部署myweb项目一:负载均衡1:硬件负载均衡比如 F5、深信服、Array 等 优点是有厂商专业的技术服务团队提供支持,性能稳定 缺点是费用昂贵,对于规模较小的网络应用成本太高2:软件负载均衡比如 Nginx、LVS、HAProxy 等 优点是免费开源,成本低廉我们在学习的过程中肯定是使用软件负载均衡比较多吧,我们学的比较多的是nginx反向服务代理器。二:nginx实现负载均衡nginx通过修改
2020-09-14 17:33:58
427
1
原创 linux启动多个tomcat服务器
首先你得将压缩包传进linux系统中的文件夹中,然后解压他,解压的命令就不用说了把,自己可以百度到各种后缀的解压的命令。解压后的位置记住,我的是下图的位置。在xshell中找到这个文件夹然后定位到bin目录,然后执行./startup.sh启动服务器如果你想开启两个服务器的话,一定要修改端口记事本打开server.xml修改以下的内容即可1、修改连接端口 <Server port="8005" shutdown="SHUTDOWN"> -- 将8005修改为900
2020-09-13 21:58:00
707
原创 nginx部署静态web服务器
首先操作nginx都必须要操作nginx.conf,因为我们要修改nginx,conf里面的数据,所以我们要将nginx.conf拷贝到桌面上(或者其他地方也行随意),然后修改就完事了。首先找到conf文件夹,执行sz nginx.conf将文件传到你想传的位置然后在第一个location下面复制一个location对应的linux目录是这样的然后将修改好的上传覆盖原来的那个文件rf -y把你的静态web复制到ace目录下就行然后去访问就行了。友情提示:这个地方的192.168.1
2020-09-13 09:03:19
220
原创 虚拟机使用nginx
流程cd /opt——>ll——>cd /usr/local/——>cd nginx——>cd sbin——>./nginx检查是否
2020-09-13 08:38:20
184
原创 nginx启动以及安装成功的也页面
免费开源版的官方网站: 添加链接描述Nginx 有 Windows 版本和 Linux 版本,但更推荐在 Linux 下使用 Nginx;安装前的准备Nginx的安装需要确定Linux安装相关的几个库,否则配置和编译会出现错误, 具体的检查安装过程为:(1) gcc编译器是否安装 检查是否安装: yum list installed | grep gcc 执行安装: yum install gcc -y(2) openssl库是否安装 检查是否安装: yum list installed |
2020-09-07 21:41:36
1508
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人