Java

Java多线程系列之:显示锁

一,Lock接口1,核心方法:  lock():获取锁  unlock():释放锁  tryLock(longtime,TimeUnitunit):尝试获取锁,可以设置超时时间2,示例代码publicclassLockDemo{//Lock是一个接口privateLocklock=newReentrantLock();...
代码星球·2021-01-30

Java多线程系列之:线程的并发工具类

一,Fork-Join1,定义:Fork-Join框架:就是在必要的情况下,将一个大任务,进行拆分(fork)成若干个小任务(拆到不能再拆时),再将一个个的小任务运算的结果进行join汇总。2,,Fork-Join体现了分而治之。什么是分而治之?规模为N的问题,当N<阈值,直接解决。当N>阈值,将N分解为k...

Java多线程系列之:线程间的通信

一,线程间的协作,如何来实现?1,轮询:难以保证及时性,资源开销很大2,等待和通知等待和通知的标准范式:  等待方:    要去获取对象的锁,    然后在循环里判断条件是否满足,不满足调用wait方法。    条件满足,执行业务逻辑  通知方:    获取对象的锁    改变条件    通知所有等待在对象的线程3,方...

Java多线程系列之:多线程一些基本概念

一,基础概念1,CPU核心数和线程的关系  CPU核心数:最早的cpu是单核的。后来出现了多核cpu(2核,4核)  CPU和线程的个数是1:1的关系。比如4核可以允许4个线程同时运行。后来intel提出了超线程的概念。使cpu和线程个数1:2。2,CPU时间片轮转机制  给每一个进程分配一个时间段,这个时间段就被称为...

Java多线程系列之:内存可见性

一,什么是可见性?1,可见性:一个线程对共享变量值的修改,能够及时的被其他线程看到。2,什么是共享变量:如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量二,Java内存模型(JMM)1,什么是Java内存模型?  它描述了java程序中各种变量(线程共享变量)的访问规则,以及在JVM中...

JavaWeb系列之:Servlet

一,什么是ServletServlet是在服务器上运行的小程序。一个Servlet就是一个Java类,并且可以通过请求-响应编程模型来访问这个在服务器内存里的Servlet程序。(Servlet可以指任何实现了Servlet接口的类。)二,编写一个Serlvet的步骤1,创建普通Java类,并继承HttpServlet...
代码星球·2021-01-30

JavaWeb系列之:监听器

一,监听器定义指专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视对象发生变化时,立即采取相应的行动。Web监听器可以监听客户端的请求,服务端的操作。可以监听的对象有:ServletContex---->作用域:application(上下文对象,由容器创建和初始化,范围是整个应用,并且...
代码星球·2021-01-30

JavaWeb系列之:过滤器

一,定义过滤器是一个服务器端的组件,它可以截取用户端的请求和响应信息,并对这些信息过滤二,工作原理当web容器启动时,就从web容器加载过滤器(所以,只要web容器启动,那么过滤器就设置好了)。当用户发送请求,过滤器判断请求是否符合要求,如果符合就把用户请求发送Web资源。Web资源处理完请求信息,再把资源响应发送到过...
代码星球·2021-01-30

Java中的反射

一,什么是反射1,反射机制是在运行状态中:对于任意一个类,都能知道这个类的所有属性和方法对于任意一个对象,都能够调用它的任意一个方法和属性。2,反射提供的功能:在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类所具有的成员变量和方法在运行时调用任意一个对象的方法生成动态代理(动态代理底层...
代码星球·2021-01-30

Spring系列之:AOP

一,相关名词切面(Aspect):一个横切功能的模块化,这个功能可能会横切多个对象(业务),比如:aMethod()方法就是一个"切面",它横切到多个业务中切入点(Pointcut):可以插入"横切逻辑(如aMethod())"的方法。比如:"调用add()"就是一个切点。通知:前置通知(BeforeAdvice):在...
代码星球·2021-01-30

后台管理系统之系统运行日志开发(Java实现)

 一,实现运行日志记录在文件中,并实现日志分包记录,项目出问题后方便定位分析。效果如图:二,代码实现(springboot项目)只需要在resources目录下新建:logback-spring.xml文件。具体每个文件多大自己设置。<configuration><!--%m输出的信息,%p...

后台管理系统之系统操作日志开发(Java实现)

一,功能点实现管理员操作数据的记录。效果如下二,代码实现基于注解的Aop日志记录1.Log实体类packagecom.ideal.manage.guest.bean.log;importjavax.persistence.*;importjava.io.Serializable;importjava.util.Date...

后台管理系统之邮件开发(Java实现)

一,功能点后台管理系统,添加用户时。对注册的新用户邮箱发送初始密码。二,代码实现1.Mail实体类publicclassMail{privateSet<String>receivers;//收件人的邮箱privateStringsubject;//主题privateStringmessage;//信息(支持...

Java面试题详解四:==和equals的去别

一,功能1.对于==作用于基本数据类型的变量,比较的存储的值是否相等,作用于引用类型的变量,比较的是其所指向的对象的地址是否相同(即是否是同一个对象)2.对于equalsObject的equals方法用来比较两个对象的是否相同(即是否是同一个对象)String的equals方法继承自java中的超级父类Object,但...

Java面试题详解二:java中的关键字

一,final1.被final修饰的类不可以被继承2.被final修饰的方法不可以被重写3.被final修饰的变量不可以被改变 重点就是第三句。被final修饰的变量不可以被改变,什么不可以被改变呢,是变量的引用?还是变量里面的内容?还是两者都不可以被改变?publicclassUser{privateStr...