笔记
涉足刻印
这个作者很懒,什么都没留下…
展开
-
idea的structure窗口的使用,快速了解一个类【idea操作】
idea的structure窗口的使用,快速了解一个类【idea基础使用】1.打开方式快捷键:Alt+72.功能按钮说明通过structure窗口我们可以快速直观的了解一个类的属性,方法,包括继承等…原创 2022-05-30 22:45:59 · 597 阅读 · 1 评论 -
【阿里云Linux安装mysql———并使用本地工具连接】
阿里云服务器安装mysql ,并使用navicat连接原创 2022-05-29 14:14:16 · 682 阅读 · 2 评论 -
csdn外链图片转存失败,源站可能有防盗链机制解决-------使用picgo+腾讯云搭建图床
使用picgo+腾讯云搭建图床解决 csdn外链图片转存失败,源站可能有防盗链机制解决前提是下载picgo哈方式一:typora中直接下载方式二:官方下载https://github.com/Molunerfinn/PicGo(使用picgo,电脑上要安装nodejs奥)ps:腾讯云COS是需要付费的,不过现在有活动,我买的非常便宜,50G——一年 1块钱。—2022/05/09为什莫使用腾讯云cos:主要是gitee现在用不了了,github太慢,腾讯云的又便宜。。。原创 2022-05-29 14:02:12 · 894 阅读 · 3 评论 -
java使用httpclient发送POST请求【java基础】
1.创建请求对象:post或者get HttpPost httpPost = new HttpPost(url);2. 创建httpclient对象CloseableHttpClient httpclient = HttpClientBuilder.create().build();3. 创建请求头对象BasicResponseHandler handler = new BasicResponseHandler();4. 设置请求格式 StringEntity entity = new原创 2022-05-04 16:31:41 · 8112 阅读 · 2 评论 -
java面向对象,封装、继承、多态【java基础】
java面向对象【java基础】java面向对象的三大特征:封装,继承、多态1.封装 封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。用通俗的话来说,就是将数据和一些复杂的东西封装起来,保护数据的安全,另外留出一个口,便于用户操纵。封装的核心:属性私有,get/set封装的意义:提高程序的安全性,保护数据原创 2022-05-03 16:20:37 · 750 阅读 · 0 评论 -
java8新特性Stream流(一)
java8新特性Stream流1.什么是Stream流?为了提高效率,java8引入了stream流ApI。stream流适用于迭代器的增强。使之能够高效能的完成聚合操作(过滤、排序分组)stream是数据通道,用于操作数据生成的元素序列,它可以实现对集合的复杂操作,例如过滤排序映射等。例子;list中有不同颜色的苹果,找出指定颜色的苹果。传统获取方法:public class Test { public static void main(String[] args) {原创 2022-05-03 14:38:27 · 241 阅读 · 0 评论 -
# java枚举类的简单使用
java枚举类的使用枚举类和普通类的区别枚举类不能被实例化(new)枚举类不能被继承为什么使用枚举java中有一种设计模式,单例模式,私有化构造器,这样也不可以实例化,其实不然,java可以通过反射进行构造。什么是枚举:枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数。声明枚举声明枚举必须带有Enum的关键字,然后定义枚举的名称、可访问性、基础类型和成员等。枚举声明的语法如下:public Enum name{ENUM_BODY,注意:任意两个枚举成员不能原创 2022-05-02 15:26:36 · 499 阅读 · 0 评论 -
java基础(三)数组
3.java数组3.1什么是数组?数组是相同数据类型的有序集合每一个数据称为数组元素,可以通过下标直接访问3.2声明数组的两种类型声明类型 [] 变量名 (ps: int [] aa;)//首选方法声明类型 变量名 [] (ps :in aa []) //效果相同 ,但不是首选方,主要是之前为了c ++ 语言学习者好转型java3.3数组的创建int [] aa =new int [10] //10表示数组的长度,3.4数组的三种初始化静态初始化:创建+赋值int [原创 2022-04-25 17:29:41 · 412 阅读 · 0 评论 -
java基础(二)java循环、方法
java基础二1.java三种循环体:while循环do-whilex循环(至少会执行一次)for 循环for死循环for(;;){}增强for循环 (遍历数组和集合)for(int tmp : aa){ }break 和continue区别?break是跳出循环,continue是跳出本次循环2.java的方法2.1什么是方法? 方法是语句的集合,他们在一起执行一个功能,用来执行特定功能的代码片2.2方法的设计原创 2022-04-25 16:07:45 · 467 阅读 · 0 评论 -
解决跨域问题
跨域问题:浏览器为了安全做了同源策略 因为用户在浏览器会同时打开多个页面,如果没有同源策略,恶意页面会通过代码访问其他页面的用户信息解决:假设浏览器同时打开a、b两个页面,现在想在a页面环境访问b服务器。第一种方式:需要得到服务器的允许才能够访问实际上发了两个请求:域检请求(询问是否允许跨域)实际请求(只有域检请求通过,这个请求才能够成功)解决1.#响应header中添加参数 response.setHeader("Access-Control-Allow-Ori原创 2022-04-23 17:43:39 · 2711 阅读 · 0 评论 -
java基础回顾(一)--》计算机语言发展史、java的特性和优点、java的三大版本
java基础回顾(一)首先说一下java计算机语言的发展史1.计算机语言发展史计算机语言的发展主要分为三个时期:第一代计算机语言:二进制语言第二代:汇编语言(主要解决了人无法看懂二进制语言的问题,使用指令替代二进制,使人机互动的门槛降低)第三代:也叫做高级语言(就是我们目前使用的大部分语言,如java,python,c ,c++ 等,这类语言主要分为两类,一类使面向对象的语言,一类是面向过程的语言,如c就是面向过程,c++,java面向对象)2.java的特性和优点回到我们的正题,ja原创 2022-04-20 23:26:02 · 1175 阅读 · 0 评论 -
Invalid bound statement (not found):..XXXX问题
原因:今天建项目突然遇到这个问题:Invalid bound statement (not found)意思就是无法找到与mapper对应的xml文件这个问题的一般原因:1.xml namespace没有对应mapper2.mapper.xml和mapper的名字不同3.配置文件中,扫描xml文件的地址错误4.调用方法的xml方法名和mapper方法不同5.mapper.xml文件位置放错解决:但我找遍了所有可能出现错误的地方,都没有问题,如果这些都没有问题,那么只有jar包有问题了原创 2021-09-28 17:50:13 · 196 阅读 · 0 评论 -
httpClient发送https请求,忽略证书详解(亲测有效)
httpClient发送https请求,忽略证书详解(亲测有效)问题原因解决问题 在项目上线前期。第三方接口的生产地址改用为 ip地址加端口号的形式(测试环境使用的是域名进行访问),导致项目上线后接口不能访问。 报错:doesn't match any of the subject alternative names: [...]原因https请求是需要对应的证书才能够进行访问,前面测试通过是因为解析的域名服务器上安装了证书,所以不需要客户端重新安装,而直接访问ip+端口号(直接目标机器)地址,原创 2021-09-24 14:28:58 · 12837 阅读 · 1 评论 -
servlet的技术要点
###rvlet技术的要点:当前应用中的所有Servlet接口实现类的实例对象,只能由服务器负责创建,开发人不能不能手动创建默认情况下以单实例多线程的方式对外提供服务Servlet实例一旦创建则常驻内存,只有当服务器资源不足而导致当前Servlet对象被调度或者服务器关闭时才会被销毁默认情况下,服务器接收到对于当前Servlet接口实现类的第一次请求时自动创建这个Servlet接口实现类的实例对象...原创 2021-04-17 00:28:53 · 188 阅读 · 0 评论 -
请求头和响应头
Maven使用的是最基本的功能,即依赖管理添加依赖需要知道对应依赖的坐标值GAV通过中央库mvnrepository.com提供的web页面可以查询对应的依赖GAV坐标 mysql mysql-connector-java 8.0.23123456将GAV坐标值拷贝到当前项目的pom.xml配置文件中,注意位置...原创 2021-04-13 23:38:35 · 148 阅读 · 1 评论 -
Servlet实例对象的生命周期
Servlet实例对象的生命周期Servlet遵循严格的生命周期,在每个Servlet实例的生命中有三种类型的事件,这三种事件分别对应于由Servlet引擎所唤醒的三个方法:init()。当Servlet第一次被装载时,Servlet引擎调用这个Servlet的init()方法,只调用一次。如果某个Sevlet需要特殊的初始化需要。那么Servlet编写人员可以重写该方法来执行初始化任务。这是一个可选的方法。如果某个Servlet不需要初始化,那么默认情况下将调用它父类的init方法。系统保证,原创 2021-04-12 23:43:46 · 237 阅读 · 0 评论 -
树
平衡二叉树又称AVL树,在满足二叉查找树特性的基础上,要求每个节点的左右子树的高度差不能超过1平衡二叉树保证了树的构造是平衡的,当插入或删除数据导致不满足平衡二叉树不平衡时,平衡二叉树会进行调整树上的节点来保持平衡。平衡二叉树相比于二叉查找树来说,查找效率更稳定,总体的查找速度也文...原创 2021-04-03 22:52:06 · 75 阅读 · 0 评论 -
mysql
mysql提供了五种整型: tinyint、smallint、mediumint、int和bigint。int为integer的缩写。这些类型在可表示的取值范围上是不同的。整数列可定义为unsigned从而禁用负值;这使列的取值范围为0以上。各种类型的存储量需求也是不同的。取值范围较大的类型所需的存储量较大。mysql 提供三种浮点类型: float、double和decimal。...原创 2021-03-28 23:58:38 · 69 阅读 · 0 评论 -
基本数据类型转换
基本数据类型转换数据类型按精度取值范围从低到高排列顺序为:byte,short,char,int,long,float,double当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型转换当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算。...原创 2021-03-24 23:35:56 · 194 阅读 · 0 评论 -
散列表
散列表(也称哈希表)是根据关键码值(Keyvalue)而直接进行访问的数据结构,它让码值经过哈希函数的转换映射到散列表对应的位置上,查找效率非常高。哈希索引就是基于散列表实现的,假设对名字建立了哈希索引,则查找过程...原创 2021-03-21 23:22:28 · 64 阅读 · 0 评论 -
平衡二叉树
平衡二叉树平衡二叉树又称AVL树,在满足二叉查找树特性的基础上,要求每个节点的左右子树的高度差不能超过1平衡二叉树保证了树的构造是平衡的,当插入或删除数据导致不满足平衡二叉树不平衡时,平衡二叉树会进行调整树上的节点来保持平衡。平衡二叉树相比于二叉查找树来说,查找效率更稳定,总体的查找速度也...原创 2021-03-21 23:20:47 · 79 阅读 · 0 评论 -
Prepared
PreparedStatement提供的功能:1、允许sql语句中使用?占位符,表示参数2、支持预编译功能3、在一定程序上可以避免sql注入漏洞原创 2021-03-18 23:17:04 · 99 阅读 · 0 评论 -
2021-03-03
999原创 2021-03-03 22:07:11 · 69 阅读 · 0 评论 -
volatile关键字
volatile关键字volatile是java提供的一种轻量级同步手段:为什么这么说,因为volatile只能保证多线程的内存可见性,不能保证多线程的执行原子性。而最彻底的同步要保证有序性、可见性和原子性的synchronized任何被volatile修饰的变量,都不拷贝副本到工作内存,任何修改都及时写在主存。因此对于volatile修饰的变量的修改,所有线程马上就能看到,但是volatile不能保证对变量的修改是原子的volatile存在的意义是,任何线程对a的修改,都会马上被其他线程读取到,因原创 2021-03-01 22:44:22 · 59 阅读 · 0 评论 -
2021-03-01
线程操作某个对象的执行顺序从主存赋值变量到当前工作内存read and load执行代码,改变共享变量值use and assign用工作内存数据刷新主存相关内容store and write原创 2021-03-01 21:59:31 · 61 阅读 · 0 评论 -
线程中堆栈和如何获取线程堆栈
堆和栈有什么不同:每个线程都有自己的栈内存(栈帧),用于存储本地变量,方法参数和栈调用,一个线程中存储的变量对其它线程是不可见的。而堆是所有线程共享的一片公用内存区域JDK1.6+引入了逃逸分析,对象都在堆里创建,为了提升效率线程会从堆中弄一个缓存到自己的栈,如果多个线程使用该变量就可能引发问题,这时volatile 变量就可以发挥作用了,它要求线程从主存中读取变量的值如何在Java中获取线程堆栈对于不同的操作系统,有多种方法来获得Java进程的线程堆栈。当获取线程堆栈时,JVM会把所有线程的原创 2021-03-01 21:52:55 · 1461 阅读 · 0 评论 -
Java内存模型
Java内存模型Java内存模型将内存分为了主内存和工作内存。类的状态也就是类之间共享的变量,是存储在主内存中的,每次Java线程用到这些主内存中的变量的时候,会读一次主内存中的变量,并让这些内存在自己的工作内存中有一份拷贝,运行自己线程代码的时候,用到这些变量,操作的都是自己工作内存中的那一份。在线程代码执行完毕之后,会将最新的值更新到主内存中去定义了几个原子操作,用于操作主内存和工作内存中的变量定义了volatile变量的使用规则happens-before即先行发生原则,定义了操作A必然先行原创 2021-03-01 21:31:45 · 62 阅读 · 0 评论 -
final关键字详解
final关键字详解修饰类当用final去修饰一个类的时候,表示这个类不能被继承被final修饰的类,final类中的成员变量可以根据自己的实际需要设计为fianlfinal类中的成员方法都会被隐式的指定为final方法被final修饰的方法不能被重写一个类的private方法会隐式的被指定为final方法如果父类中有final修饰的方法,那么子类不能去重写final修饰成员变量时,必须要为这个成员变量赋初始值,而且是只能初始化一次1.即必须保证在每一构造器执行之后,这个成原创 2021-02-24 19:03:43 · 76 阅读 · 0 评论 -
集合--List接口的三种实现
集合–List接口的三种实现List总结1.ArrayList实现类public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess,Cloneable, java.io.Serializable内部实现:transient Object[] elementData; 用于存储数据,体现ArrayList采用的是数组的方式提供实现构造器://new A原创 2021-02-23 22:38:30 · 454 阅读 · 0 评论 -
多线程
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-02-07 20:25:26 · 61 阅读 · 0 评论 -
启动进程的两种方式和创建线程的4种方式
hhhd原创 2021-02-03 23:35:41 · 551 阅读 · 0 评论 -
Thread类,Runnable接口、Callable接口、Future接口和FutureTask
hhff原创 2021-02-02 23:41:11 · 383 阅读 · 0 评论 -
Java异常处理
hhhhd原创 2021-01-20 22:10:59 · 111 阅读 · 0 评论 -
数组
csdn原创 2021-01-09 22:17:00 · 444 阅读 · 0 评论