
java
脑袋不够用的小渣渣
虚负凌云万丈才,一生襟袍未曾开
展开
-
java锁记录从无状态锁->偏向锁->轻量级锁->重量级锁的演化过程
【代码】java锁记录从无状态锁->偏向锁->轻量级锁->重量级锁的演化过程。原创 2022-08-14 16:27:14 · 467 阅读 · 0 评论 -
Java函数式接口
函数式接口/** *程序员必备技术:lambda表达式、链式编程、函数式接口、Stream流式计算 *函数式接口:只有一个方法的接口; *只要是函数型接口可以用Lambda表达式简化;*/@FunctionalInterfacepublic interface Function<T, R> { /** * Applies this function to the given argument. * * @param t the functi原创 2022-01-16 01:33:17 · 94 阅读 · 0 评论 -
Java线程池总结
线程池技术占用系统的资源,优化资源的使用! => 池化技术=>线程池、连接池、内存池、对象池线程池的好处:1、降低资源的消耗.2、提高响应的速度.3、方便管理。线程复用、可以控制最大并发数、管理线程。线程池:三大方法、7大参数、4种拒绝策略1、初期,弃用的线程池方法package pool;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/**原创 2022-01-16 00:08:12 · 241 阅读 · 0 评论 -
Java常用队列总结
1、ArrayBlockingQueue阻塞队列什么情况下,我们会使用阻塞队列: 多线程并发处理,线程池!添加、移除四组API1、抛出异常2、不会抛出异常3、阻塞等待4、超时等待package bq;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.TimeUnit;/** * @Pro原创 2022-01-12 01:33:40 · 387 阅读 · 0 评论 -
读写锁及集合安全性问题总结
0、ReentrantReadwriteLock读写锁顾名思义:读可以被多线程同时读,写的时候只能有一个线程去写。独占锁(写锁) :一次只能被一个线程占有共享锁(读锁):多个线程可以同时占有ReadwriteLock读-读可以共存!读-写不能共存!写-写不能共存!package threadMain;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import java.util.concurre原创 2022-01-11 23:52:17 · 302 阅读 · 0 评论 -
JAVA中的锁Synchronized和Lock区别
锁Lock1、常用函数总结synchronizedsynchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象; 3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象; 4. 修改一个类,其作用的范围原创 2022-01-11 16:38:43 · 325 阅读 · 0 评论 -
Springboot配置绑定和条件装配
其他配置注解@ConditionalOnBean(name = “tom”) // 条件装配 ,存在tom容器时,配置类中所有容器才会生效。@ConditionalOnMissingBean(name = “tom”) // 和上个注解相反@ImportResource(“classpath:bean.xml”) // 导入xml容器配置资源package com.toec.boot.config;/** * @ProjectName: www-ES-Api * @Package: ..原创 2022-01-10 00:55:39 · 257 阅读 · 0 评论 -
Springboot使用杂谈
1、springboot配置1.0 maven配置最好增加对jdk版本的确认<profiles> <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation&原创 2022-01-10 00:09:52 · 356 阅读 · 0 评论 -
dockers迁移容器数据的方法
# 查看docker中的容器数量docker ps -a # 提交你的变更,并且把容器保存成镜像,命名为 mynewimage。docker commit 3a09b2588478 mynewimage # 把 mynewimage 镜像保存成 tar 文件docker save mynewimage > /tmp/mynewimage.tar# 把 mynewimage.tar 拷贝到新的 Docker 实例中docker load < /tmp/mynewimage.tar.原创 2021-08-10 01:34:01 · 223 阅读 · 0 评论 -
CentOS 8中无法上网问题解决-无法正常显示ens33中ip地址
ifconfig 查询 无法显示ens33的中 网卡ip地址ing: www.baidu.com: Name or service not known[hadoop100@localhost ~]$ ifconfiglo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<..原创 2021-08-07 22:02:40 · 1093 阅读 · 1 评论 -
spring 整合mybatis
方式一:1.编写数据源配置<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" ><configuration> <typeAliases> <原创 2021-07-30 01:03:37 · 148 阅读 · 0 评论 -
XML转义字符
<!-- 转义字符不合法的XML字符必须被替换为相应的实体。如果在XML文档中使用类似"<”的字符,那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该象下面那样书写代码:<message>if salary < 1000then</message>为了避免出现这种情况,必须将字符"<”转换成实体,象下面这样:<message>if salary <1000 then</message>下面是五个在XM原创 2021-07-28 21:49:51 · 207 阅读 · 0 评论 -
mybatis 的核心步骤
一、mybatis核心依赖支持<!-- 配置依赖支持 --> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> </dependency>原创 2021-07-28 21:41:52 · 122 阅读 · 0 评论 -
Spring 面向切面编程AOP
Spring 面向切面编程AOPAOP (Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。Aop在Spring中的作用提供声明式事务;允许用户自定义切面横切关注点原创 2021-07-27 00:08:34 · 100 阅读 · 0 评论 -
Spring注解开发
在Spring4之后,要使用注解开发,必须要保证aop的包导入了使用注解需要导入context约束,增加注解的支持!<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="htt.原创 2021-07-25 23:29:13 · 455 阅读 · 6 评论 -
Springboot注解实现自动装配
Springboot注解实现自动装配jdk1.5支持的注解,Spring2.5就支持注解了。The introduction of annotation-based configuration raised the question of whether this approach is "better"than XML.要使用注解须知:1.导入约束:context约束2.配置注解的支持:context:annotation-config/<?xml version="1.0" e原创 2021-07-25 02:33:11 · 292 阅读 · 0 评论 -
Spring之IOC本质简述
IOC的本质是:控制反转loC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现loC的一种方法,也有人认为DI只是loC的另一种说法。没有loC的程序中,我们使用面向对象编程,对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。loC是Spring框架的核心内容,使用多种方式完美的实现了loC,可以使用XML配置,也可以使用注解,新版本的Spring也..原创 2021-06-30 00:47:19 · 175 阅读 · 0 评论 -
spring简介综述
Spring学习spring理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架SSH : Struct2 + Spring +HibernateSSM : SpringMvc + Spring + Mybatis官网: https://spring.io/projects/spring-framework#overview官方下载地址: http://repo.spring.io/release/org/springframework/springGitHub: https原创 2021-06-28 23:13:05 · 280 阅读 · 0 评论 -
二十三种设计模式之代理模式
代理模式分类:静态代理模式角色分析:抽象角色:一般会使用接口或者抽象类来解决。真实角色︰被代理的角色。代理角色∶代理真实角色,代理真实角色后,我们一般会做一些附属操作。客户:访问代理对象的人!代码步骤:接口// 租房public interface Rent { public void rent();}真实角色// 房东public class Host implements Rent { @Override public void原创 2021-06-28 02:09:40 · 92 阅读 · 0 评论 -
二十三种设计模式之桥接模式
桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interfce)模式。// 品牌public interface Brand { void info();}// 苹果品牌public class Apple implements Brand { @Override public void info() { System.out.println("苹果");.原创 2021-06-26 23:13:03 · 106 阅读 · 0 评论 -
二十三种设计模式之适配器模式
适配器模式// 接口转化器的抽象实现public interface NetToUsb { // 作用:处理请求,网线=>usb public void handleRequest();}// 要被适配的类:网线public class Adaptee { public void request(){ System.out.println("连接网线上网!"); }}// 1.继承(类适配器,单继承)// 2.组合(对象适配器:常.原创 2021-06-26 21:35:56 · 88 阅读 · 0 评论 -
二十三种设计模式之单例模式
单例模式:所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创建Session对象。SessionFactory并不是轻量级的,一般情况下,一个项目通常只需要一个SessionFactory就够,这是就会使用到单例模式。单例模式有八种方式:饿汉式(静态常量)// 静态常量式饿汉模式class Single..原创 2021-06-25 00:21:08 · 97 阅读 · 0 评论 -
二十三种设计模式之原型模式设计
原型模式import java.util.Date;/* 原型模式步骤* 1、实现一个接口 Cloneable* 2、重写一个方法 clone()* */public class Video implements Cloneable { private String name; private Date CreateTime; @Override protected Object clone() throws CloneNotSupportedException原创 2021-06-24 01:06:18 · 116 阅读 · 0 评论 -
二十三种设计模式之建造者模式
建造者模式建造者模式也属于创建型模式,它提供了一种创建对象的最佳方式。定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。主要作用:在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。用户只需要给出指定复杂对象的类型和内容,建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)例子:工厂(建造者模式)︰负责制造汽车(组装过>程和细节在工厂内)// 有指挥的建造public abstract class Builder {原创 2021-06-23 21:59:02 · 113 阅读 · 0 评论 -
二十三种设计模式之工厂模式
第一种创建型模式(new Object )工厂模式作用:实现了创建者和调用者的分离。核心本质:实例化对象不使用new,用工厂方法代替将选择实现类,创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。详细分类:简单工厂模式用来生产同一等级结构中的任意产品(对于增加新的产品,需要扩展已有代码);// 定义接口public interface Car { void name();}public class Tesla implements Car {原创 2021-06-23 00:14:31 · 66 阅读 · 0 评论 -
JDBC封装管理
数据库配置文件的编写driver = "com.mysql.jdbc.Driver";url = "jdbc:mysql://localhost:3306/jdbc?serverTimezone=Asia/Shanghai&?useUnicode=true&characterEncoding=utf8&useSSL=false";username = "root";password = "1234";编写公共类package com.jdbc;import .原创 2021-06-16 21:12:38 · 125 阅读 · 0 评论 -
关系型数据库事务
SQL语句:CREATE TABLE account ( id INT PRIMARY KEY auto_increment, `name` VARCHAR(40), money FLOAT);INSERT INTO account (`name`,money) VALUES ('A',1000);INSERT INTO account (`name`,money) VALUES ('B',1000);INSERT INTO account (`name`,money) V原创 2021-06-16 01:04:10 · 287 阅读 · 0 评论 -
junit单元测试的使用
单元测试@Test注解只有在方法上有效,只要加了这个注解的方法,就可以直接运行!<!-- https://mvnrepository.com/artifact/junit/junit --><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version></原创 2021-06-15 23:00:26 · 118 阅读 · 0 评论 -
JDBC的详细插入操作
package com.jdbc;import java.sql.*;public class JdbcTestTwo { private static String url = "jdbc:mysql://localhost:3306/jdbc?serverTimezone=Asia/Shanghai" + "&?useUnicode=true&characterEncoding=utf8&useSSL=false"; private原创 2021-06-15 21:50:37 · 2484 阅读 · 0 评论 -
JDBC删除操作
package com.jdbc;import java.sql.*;public class JdbcTest { public static void main(String[] args) throws ClassNotFoundException, SQLException { String url = "jdbc:mysql://localhost:3306/jdbc?serverTimezone=Asia/Shanghai" + "原创 2021-06-15 21:13:31 · 985 阅读 · 0 评论 -
JDBC的简单操作
package com.jdbc;import java.sql.*;public class JdbcTest { public static void main(String[] args) throws ClassNotFoundException, SQLException { String url = "jdbc:mysql://localhost:3306/jdbc?serverTimezone=Asia/Shanghai" +原创 2021-06-15 00:15:38 · 97 阅读 · 1 评论 -
MySQL JDBC URL中几个重要参数说明
jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值2]...参数名称参数说明缺省值最低版本要求user数据库用户名,用于连接数据库所有版本password用户密码(用于连接数据库)所有版本useUnicode是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为truefalse转载 2021-06-14 22:06:35 · 544 阅读 · 0 评论 -
过滤器通过Session实现权限拦截
过滤器的权限拦截编写Session拦截过滤器package com.filter;import com.util.Constant;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;/** * @author 125827 */public cla转载 2021-06-14 14:41:18 · 319 阅读 · 0 评论 -
过滤器和监听器的使用
Filterxml配置:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.ap原创 2021-06-13 22:44:54 · 115 阅读 · 0 评论 -
MVC架构模式详解
MVC架构模式初期什么是MVC: Model view Controller模型、视图、控制器用户直接访问控制层,控制层就可以直接操作数据库;servlet--CRUD-->数据库 弊端:程序十分臃肿,不利于维护 servlet的代码中:处理请求、响应、视图跳转、处理DBc、处理业务代码、处理逻辑代码4 架构:没有什么是加一层解决不了的!程序猿调用 JDBC MysqL oracle sqlserver ....Servlet和Jsp都可以写Javaf代码;为了易于维护和使用;转载 2021-06-13 22:42:39 · 172 阅读 · 0 评论 -
cook基础
cook练习java代码:package com.servlet;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io原创 2021-05-31 22:21:41 · 151 阅读 · 0 评论 -
javaWeb之servlet详解
开启servletHelloServlet类建立package com.servlet;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import原创 2021-05-23 01:51:56 · 104 阅读 · 0 评论 -
Http请求响应梳理
Http响应服务器—响应-----客户端cache-control:private 缓存控制connection :Keep-Alive连接content-Encoding:gzip编码content-Type : text/html类型响应体Accept:告诉浏览器,它所支持的数据类型Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 IS08859-1Accept-Language:告诉浏览器,它的语言环境cache-contro1:缓存控制原创 2021-05-22 22:25:45 · 184 阅读 · 0 评论