笔记
文章平均质量分 50
唐不是营养物质
每天都不停的搬砖
展开
-
spring学习笔记(全部)
spring的概念 类和类之间的管理, 帮助开发人员创建对象,管理对象之间的关系。 spring核心技术 ioc , aop 。能实现模块之间,类之间的解耦合。 spring的第一个核心功能 IOC IOC (Inversion of Control) : 控制反转, 是一个理论,概念,思想。 描述的:把对象的创建,赋值,管理工作都交给代码之外的容器实现, 也就是对象的创建是有其它外部资源完成。 控制: 创建对象,对象的属性赋值,对象之间的关系管理。 反转: 把原来的开发人员管理,创建对象的权限转移给代码原创 2021-10-19 19:04:06 · 126 阅读 · 0 评论 -
JAVA学习笔记-常用类(四)——System,Math和工具类等
1.System类 static long currentTimeMillis()//返回当前时间(以毫秒为单位); static gc();//垃圾回收; static exit(int sate);//退出) 2.工具类:Arrays(常用工具类),Collections(集合的常用工具类) Arrays,Collections里面有很多方法常用可以查看API文档自行了解 3.Math类 4.BigInteger(大数)和BigDecimal(精度很高的浮点数,多用特别精密的高精度计原创 2021-08-11 21:54:54 · 100 阅读 · 0 评论 -
JAVA学习笔记-常用类(四)——Java比较器(Comparable和Comparator)
一.说明:Java中的对象,正常情况下,只能进行比较: ==或!=。不能使用>或<的。 但是在开发场景中,我们需要对多个对象进行排序, 言外之意,就需要比较对象的大小如何实现?﹖使用两个接口中的任何一个: Comparable 或 comparator 二、Comparable接口的使用:自然排序 1.像String、包装类等实现了Comparable接口,重写了compareTo()方法,给出了比较两个对象的方式 2.像String、包装类重写compareTo()方法以后,原创 2021-08-11 21:46:29 · 139 阅读 · 0 评论 -
JAVA学习笔记-常用类(三)——有关时间的API
重点掌握JDK8.0新引入的关于时间的包,开发中就够用了 一.JDK8之前日期和时间的API测试 System类中的currentTimeMillis():返回当前时间与1970年1月1日e时e分0秒之间以毫秒为单位的时间差。称为时间戳 java.util.Date类 /—java.sqL.Date类 两个构造器的使用 构造器一: Date():创建一个当前时间的Date对象 构造器二:创建指定毫秒数的Date对象 两个方法的使用 toString():显示当前年,月,日,时,分,秒 getTim原创 2021-08-11 21:25:00 · 135 阅读 · 0 评论 -
有关String类常见的几个面试题
1.将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反转为"abfedcg" public class String_Change { //方式一: 转为 char[] public String reverse1(String str,int startIndex,int endIndex){ if (str!=null){ char[] chars=str.toCharArray(); for(int x原创 2021-08-11 20:38:09 · 204 阅读 · 0 评论 -
JAVA学习笔记-常用类(二)——StringBuffer,StringBulider(String类的关系)
String. StringBuffer.StringBuilder三者的异同? String:不可变的字符序列;底层使用char存储 StringBuffer:可变的字符序列;线程安全的,效率低;底层使用char存储 StringBuilder:可变的字符序列;jdk5.0新增的,线程不安全的,效率高;底层使用char存储 String str1 = new String("abc");//char[] value = new char[]{ 'a' , 'b' , ' c'原创 2021-08-11 20:26:08 · 86 阅读 · 0 评论 -
JAVA学习笔记-常用类(一)——String类
JAVA学习笔记-常用类(一)——String类 String:字符串,使用一对""引起来表示。Sting概念: 1.String声明为final的,不可被继承 2.String实现了Serializable接口:表示字符串是支持序列化的。 实现了Comparable接口:表示String可以比较大小 3.String内部定义了final char[] value用于存储字符串数据4.String:代表不可变的字符序列。简称:不可变性。 体现:1.当对原创 2021-08-11 20:14:05 · 101 阅读 · 0 评论 -
由于一些问题导致IDEA无法正常导入JUnit,这时应如何导入JUnit
新版IDEA(如2020.2.4版本)中如何导入JUnit 1.如图我从2019版本换过来的,一开始2019版只用输入@Test 然后如图点击Add Unit4’ to classpath即可自动导包 但是2020版本不行(我的这个2020版本的不能这样) 2.第一步,如图点击File打开Project Structure 打开就是这样,点击Modules,如图 3.点击最右边的加号,进行导包 点击第一个Jar or dirctories… 然后找到你IDEA的安装文件夹下的lib文件夹 打开l原创 2021-07-17 22:29:20 · 1700 阅读 · 1 评论 -
JAVA学习笔记(多线程二)——多线程的创建(二)(线程池非常重要)
JAVA学习笔记(多线程二)——多线程的创建(二)(线程池非常重要) 新增方式一:实现Callable接口 与使用Runnable相比,Callable功能更强大些 相比run()方法,可以有返回值(重写call()) 方法可以抛出异常支持泛型的返回值。 需要借助FutureTask类,比如获取返回结果 Future接口。 Future接口说明: FutrueTask是Futrue接口的唯一的实现类 FutureTask同时实现了Runnable, Future接口。它既可以作为Runnable原创 2021-07-23 19:16:00 · 121 阅读 · 0 评论 -
JAVA学习笔记(多线程五)——线程的通信
JAVA学习笔记(多线程五)——线程的通信 下面通过一些例子来说明线程通信(线程通信就是解决死锁问题) 下面是会用到的一些方法: wiat():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器。 notify():一旦执行此方法,就会唤醒被wait的一个线程。如果有多个线程被wait,就唤醒优先级高的那个。 notifyAll():—旦执行此方法,就会唤醒所有被wait的线程。 说明: wait(),notify(),notifyALl()三个方法必须使用在同步代码块或同步方法中原创 2021-07-23 18:27:21 · 117 阅读 · 0 评论 -
JAVA学习笔记(多线程四)——线程的安全4(线程的死锁问题)
JAVA学习笔记(多线程四)——线程的安全4(线程的死锁问题) 线程的死锁问题死锁出现的原因: 不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁 出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于阻塞状态,无法继续 解决方法: 专门的算法、原则 尽量减少同步资源的定义 尽量避免嵌套同步 线程的死锁 死锁的理解:不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁 说明: (1)出现死锁后原创 2021-07-23 15:57:47 · 99 阅读 · 0 评论 -
JAVA学习笔记(多线程四)——线程的安全3(线程同步机制——Lock)
JAVA学习笔记(多线程四)——线程的安全3(线程同步机制——Lock) 方式三:Lock(锁)(JDK5.0以后新增) 解决线程安全问题的方法(同步机制)—实现同步的第三种方式—>Lock(锁) 从JDK 5.0开始,Java提供了更强大的线程同步机制——通过显式定义同步锁对象来实现同步。同步锁使用Lock对象充当。 java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具。 锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程开原创 2021-07-23 15:46:05 · 106 阅读 · 0 评论 -
JAVA学习笔记(多线程四)——线程的安全2(线程同步机制——同步方法)
JAVA学习笔记(多线程四)——线程的安全2(线程同步机制——同步方法) 方式二:同步方法(就是在声明方法时加上synchronized关键字)(WindowsTest4,WindowsTest5演示) 如果操作共享数据的代码完整的声明在一个方法中,我们不妨将此方法声明同步的。 注意: 操作共享数据的代码,即为需要被同步的代码。—>需要被同步的代码({}中的代码)不能多也不能少 共享数据:多个线程共同操作的数据。(没有共享数据就不需要同步) 同步监视器:俗称‘锁’,任何一个类的对象,都可以充当锁。原创 2021-07-23 15:27:23 · 109 阅读 · 0 评论 -
JAVA学习笔记(多线程四)——线程的安全1(线程同步机制——同步代码块)
JAVA学习笔记(多线程四)——线程的安全(线程同步机制) 问题的提出 多个线程执行的不确定性引起执行结果的不稳定 多个线程对账本的共享(即共享数据)会造成操作的不完整性,会破坏数据。 例如:微信的亲属卡,你用的从银行卡里扣钱,你老婆用也扣钱,同时扣钱的时候的万一不够或者其他问题怎么办。 还是对上次三个窗口买票问题的讨论(可能出现线程安全的问题,就是程序有问题) 1.问题:卖票过程中,出现了重票、错票–>出现了线程的安全问题 2.问题出现的原因:当某个线程操作车票的过程中,尚未操作完成时,其他线原创 2021-07-23 15:13:08 · 93 阅读 · 0 评论 -
JAVA学习笔记(多线程三)——线程的生命周期
JAVA学习笔记(多线程三)——线程的生命周期 JDK中用Thread.State类定义了线程的几种状态 要想实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历如下的五种状态: 新建:当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态I 就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件,只是没分配到CPU资源 运行:当就绪的线程被调度并原创 2021-07-23 14:52:54 · 104 阅读 · 0 评论 -
JAVA学习笔记(多线程三)——线程的优先级以及(Threa类)常用方法
JAVA学习笔记——多线程(三) 多线程的优先级以及一些常用的方法 一.线程的优先级 MAX_PRIORITY: 10 MIN _PRIORITY:1 lNORM_PRIORITY:5 默认优先级就是lNORM_PRIORITY=5。 如图,Thread类的三个常量; 2.如何获取和设置当前线程的优先级;(通过调用Thread类中的方法) getPriority():获取线程的优先级 setPriority(int x)∶设置线程的优先级 说明:高优先级的线程要抢占低优先级线程cpu的执行权。 但是原创 2021-07-19 18:12:22 · 287 阅读 · 0 评论 -
JAVA学习笔记(多线程二)——多线程的创建(一)
JAVA学习笔记——多线程(二)之多线程的创建 JAVA—API文档所给的方法 多线程的创建方式一: 1.创建一个子类去继承Thread类 2.重写继承后run()方法 3.创建一个子类的对象 4.通过子类对象调用start()方法 多线程的创建方式二: 1.创建一个实现类去实现runnable接口 2.重写run()方法 3.创建一个实现类的对象 4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象 5.通过Thread类的对象调用start() 比较创建线程的这两种方式 开发中:原创 2021-07-19 17:43:27 · 89 阅读 · 0 评论 -
JAVA学习笔记(多线程一)——多线程的概念
JAVA学习笔记——多线程(一) (程序,进程,线程)概念 1.程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 2.进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期 比如:运行中的QQ,运行中的360 注意:程序是静态的,进程是动态的(两者的区别) 进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域 3.线程(thead),进程可进一步细化为线程,是一个原创 2021-07-19 17:07:18 · 150 阅读 · 0 评论 -
Java学习——数据库连接(JDBC)
后端学习——数据库连接(JDBC) JDBC(数据库连接) 持久化简介 一类四接口(Driver Manager类,Connection接口,Statement接口,Prepared Statement接口,ResultSet接口) (URL)连接:主协议:子协议://数据库服务器:端口号/数据库名称?连接参数(连接参数包括数据库用户名和密码) java.sql.DriverManager类:表示数据库驱动包的管理对象 java.sql.Connection接口:表示数据库的连接对象 java.sql.St原创 2021-07-17 23:12:40 · 85 阅读 · 0 评论 -
数据库的数据查询以及主键约束规则
后端学习之数据库1 设计数据库的主键约束规则 1.不允许有重复的值 2.不允许有null值 自增长列(主键用过的值就算删除了也不会再用) 唯一约束不允许重复,但允许有一个null值 默认约束(设置默认值) 主外键约束:主表的主键是从表的外键 数据的增,删,改,查操作(CRUD操作) 注意了兄弟们:别人说数据库的CRUD操作,可千万别再回答说啥CRUD啊,我只会增删改查(CURD就是增删改查) 查询语句:SELECT … FROM… 逻辑运算符:and,or,not where语句 in查询 (like)模糊原创 2021-07-17 22:59:37 · 540 阅读 · 0 评论 -
前端(HTML+CSS)——HTML常用知识
html常用知识3(包含一些css) 盒子模型(div+css) padding 空白填充 border-radius: 设置所有四个边框- *-半径属性的属性 box-shadow: 盒子阴影 margin 边距 (最底层) 最高层 边框(border) margin:(两个数据)上下 左右 margin :(四个数据)上右下左 定位 的方法有4种 postion:sticky 粘性定位 (定位条件:top为0时停住)例如:平时我们网页中看到的导航栏(导航栏大家都懂吧) postion原创 2021-07-17 22:50:05 · 68 阅读 · 0 评论 -
HTML的常用知识2——(表单+标签属性)
html的常用知识2 客户端向服务端发送数据有多种方式:表单,Ajax,URL传参 表单(form) 表单中的属性: 1.name起名 2.action提交(提交给servlet) 3.method提交数据的方法(get和post) 4.enctype 更改上转的数据类型(更改String类型) input 标签的属性 : 1.type输入框类型 2.name用于获取数据 3.id用于给JSP获取文本框的元素 3.placeho 获取提示信息 4.pattern 用来做数据校验的(主要是客户端的数据校验)一原创 2021-07-17 22:44:10 · 79 阅读 · 0 评论 -
HTML的常用知识——常用标签
html的常用知识1 标签的分类 按位置:块级标签,行内标签 按类型:双标签,单标签 meta标签的四个作用: 1.设置字符编码 2.设置网页的刷新频率 3.设置网页关键字 4.网页内容的简述 常用的的块标签: h1(h1-h6标题标签) p(段落标签) div (盒子模型) hr(水平线) ol(有序列表) ul(无序列表) dl(定义列表) 常用的行内标签: span(行内标签) a (a标签-跳转标签) audio(controls (控制面板),loops重要属性) video(cont原创 2021-07-17 22:37:30 · 97 阅读 · 0 评论