Java学习
lrzbupt
这个作者很懒,什么都没留下…
展开
-
如何获取两个LocalDate类型之间间隔多少天
使用以下代码即可LocalDate nowDate = LocalDate.now();LocalDate overDate = LocalDate.of(creditBillDTO.getBillYear(), Month.of(creditBillDTO.getBillMonth()), 1);ChronoUnit.DAYS.between(overDate, nowDate);原创 2020-11-16 17:25:58 · 359 阅读 · 0 评论 -
java之Cookie&Session(八)
会话跟踪技术包括Cookie与Session;为什么需要会话跟踪?HTTP协议是无状态协议,即不保留用户的任何状态信息,数据提交完成后连接就会关闭。那么就出现一个问题,如果一个文件传到一半,突然断开连接,那下次该怎么继续从断点处传送?服务器如何知道是哪个用户在何处断掉了呢?W3C就提出了:给每一个用户都发一个通行证,无论谁访问的时候都需要携带通行证,这样服务器就可以从通行证上确认用户的信息。通行证就是CookieCookie浏览器访问服务器,如果服务器需要记录该用户的状态,就使用response向原创 2020-09-14 16:31:56 · 98 阅读 · 0 评论 -
java之Servlet(七)
学习路径Tomcat一个web服务器,也是装servlet的容器,要理解各个目录含义,学会使用使用Servlet写出第一个程序JavaWeb的标准目录结构,写一个程序和配置,了解继承体系和生命周期ServletConfig与ServerContextrequest与responseCookie与Session会话机制Cookie的有效期如何设置Cookie如何保存中文Cookie的不可跨域性是什么意思使用Cookie来显示用户上次访问的时间使用Cookie来显示上次浏原创 2020-09-14 14:50:37 · 133 阅读 · 0 评论 -
java之HTTP集合(六)
对于HTTP我们需要了解什么Request Method: GET, POST, PUT, DELETEStatus Code: 200OK各个版本的特点:HTTP1.0 HTTP1.1 HTTP/2 HTTP/3HTTPS的特点HTTP各版本特点HTTP1.0:默认短连接,每次与服务器交互都需要新开连接HTTP1.1:最主要的是默认持久连接。只要客户端服务端任意一端没有明确提出断开TCP连接,就一直保持连 接,可以发送多次HTTP请求。其次就是断点续传(Chunked原创 2020-09-10 17:22:09 · 130 阅读 · 0 评论 -
java之atomic(五)
为什么有atomic简单的变量更改不需要频繁使用对象的内置锁,原子变量使用CAS算法(compare and swap)比较并交换(compare and swap, CAS),是原子操作的一种,可用于在多线程编程中实现不被打断的数据交换操作,从而避免多线程同时改写某一数据时由于执行顺序不确定性以及中断的不可预知性产生的数据不一致问题。 该操作通过将内存中的值与指定数据进行比较,当数值一样时将内存中的数据替换为新的值。CAS有3个操作数:内存值V旧的预期值A要修改的新值B当多个线程尝试使用原创 2020-09-10 16:50:12 · 85 阅读 · 0 评论 -
java之死锁(四)
死锁死锁只能通过中止并重启方式重新执行造成死锁原因:当前线程拥有其他线程需要的资源当前线程等待其他线程已拥有的资源都不放弃自己拥有的资源锁顺序死锁两个线程试图以不同顺序获得相同的锁;所以如果线程以固定的顺序来获得锁就不会出现顺序死锁动态锁顺序死锁 // 转账 public static void transferMoney(Account fromAccount, Account toAccount,原创 2020-09-10 15:28:26 · 77 阅读 · 0 评论 -
java之线程池(三)
为什么使用线程池线程池可以看做是线程的集合。在没有任务时线程处于空闲状态,当请求到来:线程池给这个请求分配一个空闲的线程,任务完成后回到线程池中等待下次任务(而不是销毁)。这样就实现了线程的重用。如果没有使用线程池,就需要为每个请求都新开一个线程,虽然可以,但是有缺点:线程生命周期的开销非常高。每个线程都有自己的生命周期,创建和销毁线程所花费的时间和资源可能比处理客户端的任务花费的时间和资源更多,并且还会有某些空闲线程也会占用资源。程序的稳定性和健壮性会下降,每个请求开一个线程。如果受到了恶意攻击原创 2020-09-10 14:57:28 · 69 阅读 · 0 评论 -
java之Java锁(二)
多线程加锁Synchronized显式LockSynchronized关键字,只要在代码块(方法)添加关键字synchronized,即可以实现同步的功能本质上是一种互斥锁,Java中每个对象都有一个内置锁(监视器,也可以理解成锁标记),而synchronized就是使用**对象的内置锁(监视器)**来将代码块(方法)锁定的!即锁的使用以对象为单位,一个对象被锁住后,其他线程无法使用该对象内部的代码修饰普通方法,用的锁是本对象(内置锁)修饰代码块用的锁是括号内obj(内置锁)修饰静态方原创 2020-09-09 17:03:50 · 101 阅读 · 0 评论 -
java之反射(一)
何为反射简单来说,不使用new来创建对象,而是绕个圈子,拿到java.lang.Class对象,再调用Class对象方法来创建对象。获取和使用反射方法/* 下面是我初学反射时做的笔记,应该可以帮到大家,代码我就不贴了。(Java3y你值得关注)*/想要使用反射,我先要得到class文件对象,其实也就是得到Class类的对象Class类主要API: 成员变量 - Field 成员方法 - Constructor 构造方法 - Metho原创 2020-09-03 15:15:44 · 184 阅读 · 0 评论