![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
无名·
君子性非异也,善假于物也。
心有猛虎,细嗅蔷薇。
展开
-
权限修饰符、final、抽象类
权限修饰符的分类和作用范围由小到大: private -> 缺省 -> protected -> public修饰符同一个类同一个包下其他类不用包下的子类不同包下无关类private√缺省√√protected√√√public√√√√final的作用final关键字是最终的意思,可以修饰(方法,变量,类)修饰方法:表示该方法是最终方法,不能被重写修饰变量: 表示该变量第一次赋值后,不能再次被赋值原创 2022-01-31 10:02:16 · 442 阅读 · 0 评论 -
Java继承、构造器特点总结
面向对象三大特征之一:继承继承中创建子类对象时,在堆内存中只是创建了子类对象,只是子类对象中携带了父类的信息,所以可以直接使用子类可以继承父类的属性和行为,但是子类不能继承父类的构造器 继承后【重名方法和属性】的访问特点:就近原则。先找子类自己,找不到再去父类找重写 @Override私有方法不能被重写子类继承父类构造器特点子类中所有的构造器默认都会先访问父类中无参的构造器,再执行自己原因: 子类初始化之前,一定调用父类构造器先完成父类数据空间的初始化...原创 2022-01-29 22:23:57 · 436 阅读 · 0 评论 -
Java static关键字、简易单例模式
static关键字 静态静态成员变量 内存中只加载一次,属于类静态成员方法工具类使用一些静态方法, 建议构造器私有化static注意事项静态方法只能访问静态的成员,不可以直接访问实例成员实例方法可以访问静态的成员,也可以访问实例成员静态方法中是不可以出现this关键字的单例模式饿汉式 //1.创建静态对象 private static SingleInstance1 singleInstance1 = new SingleInstance1(); //原创 2022-01-29 21:11:34 · 192 阅读 · 0 评论 -
类定义、构造器、this
类中可以定义5大成分(五大金刚)成员变量构造器成员方法代码块内部类构造器的作用: 初始化类的对象,并返回对象的地址this关键字: 代表当前对象的地址,可以调用成员变量和成员方法标准JavaBean成员变量私有化提供公共的Get/Set方法提供无参构造器...原创 2022-01-28 21:15:55 · 351 阅读 · 0 评论 -
springboot加载yml数据三种方式
springboot加载yml数据三种方式application.ymlserver: port: 8082name: abc#对象#参数引用 ${}person: name: ${name} age: 20 #数组 address: - beijing - shanghai#对象行内写法person2: {name: zhangsan,age: 20} #数组address: - beijing - shanghai#纯量msg原创 2022-01-28 20:56:29 · 1955 阅读 · 0 评论 -
集合的特点
集合的特点集合的大小不固定,启动后可以动态变化,类型也可以选择不固定集合非常适合做元素不确定,且要进行增删操作的业务场景提供的很多API集合中只能存储引用类型,不支持基本数据类型返回元素个数 size()删除元素 remove()泛型 约束集合在编译阶段只能操作某种数据类型...原创 2022-01-26 22:21:00 · 344 阅读 · 2 评论 -
Java String相关知识点
String特点String变量每次修改其实都是产生并指向了新的字符串对象,原来的字符串对象都是没有改变的,所以称不可变字符串。以" "方式给出的字符串对象,在字符串常量池中存储,而且相同内容只会在其中存储一份以构造器new对象,每次new都会产生一个新的对象,放在堆内存中String常见面试题下面语句创建了几个对象String s2 = new String("abc"); //2个 1.字符串常量池中"abc" 2.s2对象地址指向String s3 = "abc";原创 2022-01-26 21:40:09 · 164 阅读 · 0 评论 -
Java面向对象
面向对象设计东西来解决问题类 共同特征的描述对象 真实存在的具体实例构造器用于初始化一个类的对象,并返回对象的地址任何类定义出来,默认就自带了无参构造器,写不写都有一旦定义了有参数构造器,无参构造就没有了,此时就需要自己写一个无参构造器了。this关键字作用: 出现在成员方法,构造器中代表当前对象的地址,用于访问当前对象的成员变量、成员方法this 就是当前对象的地址封装实现方式: 使用private关键字对属性进行隐藏,提供public的get set方法提供了原创 2022-01-25 22:52:32 · 155 阅读 · 0 评论 -
Java数据类型传递机制
Java内存分配栈 方法运行时所进入的内存,变量也在这里堆 new出来的东西会在这块内存中开辟空间并产生地址方法区 字节码文件方法调用流程方法没有调用的时候,在方法区中字节码文件中存放方法被调用的时候,需要进入到栈内存中运行基本数据类型参数传递机制: 值传递值传递: 传输的是实参存储的值 public static void main(String[] args) { int a = 10; change(a); System.原创 2022-01-25 21:57:47 · 176 阅读 · 0 评论 -
Java冒泡排序
数组排序冒泡排序 每次把数组中最大值放大数组的后面去每轮把当前最大的一个元素存入到数组当前的末尾 int [] nums = {5,4,8,6,2,1}; int tmp = 0; //采用冒泡排序 升序 for (int j = 0; j < nums.length -1; j++) { for (int i = 0; i < nums.length -j-1; i++) {原创 2022-01-23 21:56:49 · 66 阅读 · 0 评论 -
Java程序流程控制部分
自动类型转化类型范围小的变量,可以直接赋值给类型范围**大 **的变量。byte > short > int > long > float > double (自动类型转化)char > int (可直接转化)表达式的最终结果类型由表达式中的最高类型决定的在表达式中,byte,short,char 是直接转换为int类型参与运算的byte a = 10; yte b = 20; byte c = (byte)(a+b); //不强转会报错原创 2022-01-23 10:14:39 · 70 阅读 · 0 评论 -
Java基础语法部分
SUN公司,现在是oracle公司互联网开发詹姆斯.高斯林JAVASE 标准版JAVAEE 企业版JAVAMEJDK开发者工具包 企业在意是否安全与稳定开发去官网下载安装目录 不要带空格和中文javajavac 编译步骤: 编写代码 test.java —> 编译代码 test.class ---------> 运行代码窗口命令: dir 查看路径下文件cls 清屏机器语言 》 汇编语言 》高级语言JDK的组成JVM Java虚拟机原创 2022-01-21 22:04:02 · 983 阅读 · 1 评论 -
Tomcat部署项目后有括号的处理方法
如下3个地方都修改为一致即可解决。1,右键项目名 --> properties --> 输入web project settings --> 修改Context root为你现在的项目名。2,修改后缀名为.project的文件,在项目路径下找到.project的文件,把标签中的内容修改为项目名。3,修改后缀名为org.eclipse.wst.common.component文件,文件在项目路径下settings文件夹里,修改地方如下。...原创 2022-01-13 14:53:15 · 267 阅读 · 0 评论 -
学习方向逻辑
原创 2022-01-13 13:52:23 · 106 阅读 · 0 评论 -
IDEA 生成UID
原创 2021-12-29 11:55:33 · 272 阅读 · 0 评论 -
大型网站系统的特点及演化过程
大型网站系统的特点首先肯定是高并发,大量用户访问(大流量),从而产生了海量数据。其次高可用,保证系统7*24小时不间断服务再有哪里的用户都有,分布各地,网络复杂,从而牵扯出安全问题,容易受到攻击为了满足用户需求,发布频繁大型网站架构演化发展历程第一步: 应用程序+数据库+文件 都在同一台服务器上第二步: 分别放在三台服务器上 应用服务器(更强大的CPU)、数据库服务器(更快的磁盘和更大的内存)、文件服务器(更大的磁盘)第三步: 使用缓存改善网站性能,二八定律,把常用的数据放入到内存中第四步原创 2021-12-28 17:20:55 · 51 阅读 · 0 评论 -
Hint作用
Hint作用Oracle的Hint是用来提示Oracle的优化器,用来选择用户期望的执行计划。背景在许多情况下,oracle默认执行的执行方式并不总是最优的,只不过由于平时操作的数据量比较小,所以,好的执行计划与差的执行计划所消耗的时间差异不大,用户感觉不到而已。但对于书写操作大数据量的SQL而言,其SQL的书写则需要先了解一下执行计划是否是最优或满足生产需要。通常当从开发环境迁移到生产环境下时,往往会出现此类情况。语法格式{SELECT |INSERT | UPDATE | DELETE} /*原创 2021-12-28 17:16:44 · 225 阅读 · 0 评论 -
java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String<select id="test" resultType="java.util.Date"> <if test="date != null and date !=''" > SELECT #{date原创 2021-12-28 17:12:29 · 52 阅读 · 0 评论 -
SSL证书
SSL证书就是遵守SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数组传输加密功能。如何实现呢?SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道。该安全协议主要用来提供对用户和服务器的认证对传送的数据进行加密和隐藏确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准由于SSL技术已建立到所有主要的浏览器和Web服务器中,因此仅需安装服务器证书就可以激活该功能了...原创 2021-12-28 17:09:55 · 195 阅读 · 0 评论 -
Log4j2漏洞 CVE-2021-45046详情
当前描述发现 Apache Log4j 2.15.0 中针对 CVE-2021-44228 的修复在某些非默认配置中不完整。当日志配置使用带有上下文查找(例如,$${ctx:loginId})或线程上下文映射模式( %X、%mdc 或 %MDC)使用 JNDI 查找模式制作恶意输入数据,从而导致拒绝服务 (DOS) 攻击。默认情况下,Log4j 2.15.0 尽最大努力将 JNDI LDAP 查找限制为 localhost。Log4j 2.16.0 通过删除对消息查找模式的支持和默认禁用 JNDI 功能来原创 2021-12-16 11:03:01 · 2515 阅读 · 0 评论 -
Log4j2日志详细配置说明
原创 2021-08-06 19:14:53 · 209 阅读 · 1 评论 -
Oracle查询结果集中相同部分、不同部分
intersect运算返回查询结果中相同的部分既他们的交集> select * from table-01 where a= xxx intersect select * from table-01 where a = ccc;minus运算返回在第一个查询结果中与第二个查询结果不相同的那部分行记录,即两个结果的差集> select * from table-01 where a= xxx minus select * from table-01 where a =原创 2021-08-02 09:36:46 · 749 阅读 · 0 评论 -
Windows查看端口使用情况
查询系统日志eventvwr.exe查看系统当前所有的端口使用情况netstat -ano查看特定端口占用情况netstat -ano | findstr “端口”通过进程号查询对应的进程名称tasklist | findstr “进程ID号”杀掉进程taskkill /f /t/ /im “进程ID或者进程名称”...原创 2021-07-23 18:30:20 · 255 阅读 · 0 评论 -
Linux日志查询命令汇总
grep -E '123| abc' filename //找出文件中包含123或者包含abc的行grep -i pattern files //不区分大小写grep -A 5 --color 'Tomcat' catalina.out //后5行,带颜色输出 A:后面 B:前面 C:前后sed -n '/2018-08-20 11:37:49/,/2018-08-20 11:37:50/p' catalina.out //查询某个时间段的日志...原创 2020-12-28 14:33:18 · 74 阅读 · 0 评论 -
Tomcat使用shutdown.sh无法关闭
解决方案: ps -ef | grep java 查出java进程号 kill -9 <tomcat_process_id> 杀掉进程 为什么停止Tomcat之后进程依然存在Tomcat是一个Servlet容器,用于部署Serlvet程序(我们通常写的各种Java Web应用本质上就是一个Servlet程序)。也就说,在停止Tomcat时不仅仅需要释放Tomcat进程本身所占用的资源,还需要释放Serlvet程序所占用的资源。而出现“停止Tomcat转载 2020-10-05 14:48:39 · 712 阅读 · 0 评论 -
Linux下安装Python3.6
一、安装python3.6安装依赖环境yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel下载Python3wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz安装python.转载 2020-09-10 23:36:48 · 227 阅读 · 0 评论 -
使用idea快速生成项目树结构
直接在idea上输入tree命令原创 2020-09-10 23:17:09 · 2539 阅读 · 0 评论 -
idea 导入web项目配置
idea导入web项目并部署到tomcat 概述主要分为项目配置和tomcat配置两大步骤。 一、项目配置 打开idea,选择导入项 选择将要打开的项目路径后,继续选择项目的原本类型(后续引导设置会根据原本的项目类型更新成idea的项目),此例中选择Eclipse,然后一直next到底即可 File->Project Struc转载 2020-09-10 16:28:30 · 768 阅读 · 1 评论 -
常用的maven命令解析
常用的maven命令compilecompile是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下。testtest是maven工程的测试命令,会执行src/test/java下的单元测试类。cleanclean是maven工程的清理命令,执行 clean会删除target目录的内容。packagepackage是maven工程的打包命令,对于java工程执行package打成jar包,对于web工程打成war包。原创 2020-09-08 00:09:32 · 117 阅读 · 0 评论 -
Linux 常用命令使用教程
Vim编辑器在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。三种模式:命令行、插入、底行模式。切换到命令行模式:按Esc键;切换到插入模式:按 i 、o、a键;i 在当前位置生前插入I 在当前行首插入a 在当前位置后插入A 在当前行尾插入o 在当前行之后插入一行O 在当前行之前插入一行切换到底行模式:按 :(冒号);打开文件:vim file退出:esc :q修改文件:输入i进入插入模式保存并退出:esc:wq不保存退出:esc:q!原创 2020-09-08 00:02:18 · 136 阅读 · 0 评论 -
图解常见数据结构
数据结构常见的数据结构数据存储的常用结构有:栈、队列、数组、链表和红黑树。我们分别来了解一下:栈栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。简单的说:采用该结构的集合,对元素的存取有如下的特点先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素)。例如,子弹压进弹夹,先压进去的子弹在下面,后压进去的子弹在上面,当开枪时,先弹出上面的子弹,然后才能弹出下面的子弹。栈的原创 2020-09-04 23:57:18 · 1483 阅读 · 1 评论