![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
Dragon Wu
创造是信仰!因为热爱所以从事。
展开
-
Java 单例模式
目录一、饿汉式1、通过普通类实现2、枚举类单例模式二、懒汉式1、普通懒汉式2、双检懒汉式3、静态内部类实现(推荐)一、饿汉式1、通过普通类实现有漏洞的单例模式:package com.wxl;import java.io.Serializable;public class Singleton1 implements Serializable { private Singleton1(){ System.out.println(原创 2022-04-29 18:10:25 · 745 阅读 · 0 评论 -
HashMap 底层原理解析
目录一、HashMap的数据结构1、红黑树介绍:2、树化的两个条件3、链表化的条件二、HashMap的索引计算三、HashMap的Put方法实现流程四、HashMap的加载因子五、HashMap的并发数据六、HashMap的Key一、HashMap的数据结构HashMap未树化前的数据结构:放入的元素经过两次hash后,取模放入hashmap对应位置。java1.7:数组+链表java1.8:数组+ (链表 | 红黑树)解析1.8版本:原创 2022-04-28 15:51:00 · 627 阅读 · 0 评论 -
Java ArrayList的扩容机制 以及与LinkedList性能对比
一、ArrayList的扩容机制1、ArrayList创建时的长度(1)ArrayList()会是长度为0的数组(2)ArrayList(int initialCapacity)会是指定容量的数组(3)ArrayList(Collection<?extends E> c)会是以c的大小作为数组的大小(4)add(Object o)首次扩容为10,再次扩容为之前容量的1.5倍解释:ArrayList按无参构造创建时大小为0,当第一次调用add方法时会扩容到10,我们..原创 2022-04-28 11:24:13 · 1408 阅读 · 0 评论 -
Java 单边快排 与 双边快排
一、单边快排代码:已是该算法的最优情况package com.wxl;import java.lang.reflect.Array;import java.util.Arrays;public class Test { public static void main(String[] args) { int[] arr = {5, 3, 7, 2, 9, 8, 1, 4}; singleFastSort(arr); } p..原创 2022-04-25 22:57:38 · 961 阅读 · 0 评论 -
java 注解与反射总结
目录一、注解1、内置注解2、元注解3、自定义注解二、反射1、什么是反射(Reflection )?2、反射可以实现的功能3、反射常用方法测试案例1:类地址等测试测试案例2:类的相关属性和方法的查看测试案例3:通过反射动态操作对象及方法测试案例4:反射操作与普通操作速度对比测试案例5:注解与反射操作,框架底层逻辑一、注解1、内置注解@Override 注解在方法上 表示重写父类方法,编译时期报错,提高可读性 @Deprecate.原创 2022-02-09 21:16:43 · 634 阅读 · 0 评论 -
Java 通过反射获取静态属性的值
Java 通过反射获取静态属性的值。总结,利用注解获取到FieldName,之后,通过.get(null)获取到静态值。原创 2024-04-21 12:09:24 · 236 阅读 · 0 评论 -
设计模式 (三)代理模式 JAVA
设计模式 (三)代理模式 JAVA原创 2023-02-02 11:08:07 · 209 阅读 · 0 评论 -
设计模式 (二) 工厂模式 Java
工厂设计模式,顾名思义类似一家工厂来制造各种产品,目的在于提高代码的可扩展性。原创 2023-01-19 17:02:12 · 1486 阅读 · 0 评论 -
设计模式 (一) 单例模式 Java
单例模式一般分为饿汉式与懒汉式(类似于懒加载)。饿汉式会在类加载时即刻创建实例对象,线程安全;懒汉式由于是在调用时才创建,所以需要考虑线程安全。原创 2023-01-18 16:21:26 · 793 阅读 · 0 评论 -
Java 注解 自定义注解 注解的解析
Java 注解 自定义注解 注解的解析原创 2022-12-25 12:55:46 · 535 阅读 · 0 评论 -
升级jdk11后出现告警信息解决方案,An illegal reflective access operation has occurred
升级jdk11后出现告警信息解决方案,An illegal reflective access operation has occurred_叫我磊哥的博客-CSDN博客转载 2022-12-04 13:46:26 · 590 阅读 · 0 评论 -
Java 网络编程
在Java中提供了操作IP地址的接口//实例化IP对象//ip名和ip地址都可以,推荐使用ip地址//获取该IP地址的主机名//获取该IP地址System.out.println("主机名" + name);System.out.println("IP地址" + ip);原创 2022-11-29 16:23:35 · 255 阅读 · 0 评论 -
Java 反射
从运行结果可以看出获取的类对象都是相同的!后端框架中大多用到了此种思路。原创 2022-11-25 11:36:57 · 102 阅读 · 0 评论 -
Java 匿名内部类、Lambda、接口的三种类型方法
从执行接口可以看得出,匿名内部类的实质就是实例化接口实现类,可以在不添加实现类的基础上实现接口对应的方法,以降低代码量。默认被public abstract 关键字修饰,实现接口的类必须实现这些抽象方法。这样就解决了接口升级时需要不断添加新的接口来继承原先接口的接口冗杂的问题。可以看到lambda表达式不要太简洁。只允许被静态调用,不可以被实现。原创 2022-10-12 13:14:42 · 1635 阅读 · 0 评论 -
Java 运行使用第三方库的python脚本 案例
Java调用python第三方库脚本的案例原创 2022-06-04 15:28:31 · 317 阅读 · 0 评论 -
Java 悲观锁 乐观锁
目录一、悲观锁1、悲观锁的代表synchronized和Lock锁二、乐观锁1、乐观锁的代表是AtomicInteger,使用cas来保证原子性一、悲观锁1、悲观锁的代表synchronized和Lock锁(1)核心思想:线程只要占有了锁,才能操作共享变量,每次只要一个线程占锁成功,获取锁失败的线程,都得停下来等待。(2)线程从运行到阻塞,再从阻塞到唤醒,涉及线程上下文切换,如果频繁发生,影响性能。(3)实际上,线程在获取syncronized和Lock锁之前,如果锁原创 2022-05-10 09:37:25 · 238 阅读 · 0 评论 -
Java 并发篇 解读volatile
一、多线程下变量的不可见性要解读该特性,我们首先需要有一定的JMM知识1、什么是JMM内存模型可以理解为在特定的操作协议下,对特定的内存或者高速缓存进行读写访问的过程抽象描述,不同架构下的物理机拥有不一样的内存模型,Java虚拟机是一个实现了跨平台的虚拟系统,因此它也有自己的内存模型,即Java内存模型(Java Memory Model, JMM)。2、JMM中线程变量关系JMM中每个线程都会向主内存中先备份一个共享变量副本,以便自身可以快速调用。线程是不可以直接访问主内存的变..原创 2022-05-10 09:15:27 · 213 阅读 · 0 评论 -
Java 选择排序 以及其与冒泡排序的区别
public class test { public static void main(String[] args) { int[] arr = {12, 13, 23, 12, 1, 2, 33, 1, 1, 0}; selectSort(arr); } static void selectSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { ..原创 2022-04-22 19:41:36 · 429 阅读 · 0 评论 -
Java 冒泡排序 优化完毕后的案例
public class test { public static void main(String[] args) { int[] arr = {-1, 0, 0, 0, 12, 12, 45, 12, 13, 11, 23, 77, 0}; bubbleSort(arr); } static void printArr(int[] arr) { for (int value : arr) { Syste..原创 2022-04-22 11:34:46 · 623 阅读 · 0 评论 -
Java 二分查找 并解决整数溢出
public class test { public static void main(String[] args) { int[] array = {12, 13, 14, 56, 78, 90, 100, 123, 150, 8848}; int target = 100; Integer res = binarySearch(array, target); System.out.println(res); } .原创 2022-04-21 19:43:21 · 535 阅读 · 0 评论 -
java File类使用
一、File类1、File的三种构造方法package com.wxl.springbootpro01;import org.junit.jupiter.api.Test;import java.io.File;public class MyTest { @Test public void test(){ //File类的三种构造方法 File f1=new File("E:\\java\\java.txt"); ...原创 2022-03-06 15:50:43 · 316 阅读 · 0 评论 -
java fastjson的使用
Java 中 JSON 的使用 | 菜鸟教程原创 2022-03-04 19:21:18 · 417 阅读 · 0 评论 -
java HashSet使用方法
目录一、简介二、添加三、 删除四、遍历一、简介HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。HashSet 允许有 null 值。HashSet 是无序的,即不会记录插入的顺序。HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。HashSet 实现了 Set 接口。二、添加可以通过add和addAll方法进行添加,重复的原创 2022-02-09 12:31:49 · 1449 阅读 · 0 评论 -
java LinkedList的使用方法
目录一、简介二、添加三、删除四、遍历五、修改六、常用方法一、简介链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。链表可分为单向链表和双向链表。Java LinkedList(链表) 类似于 ArrayList,是一种常用的数据容器。与 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修改的操作效率较低。以下情况使用 ArrayLi.原创 2022-02-09 11:41:39 · 2926 阅读 · 0 评论 -
Java 泛型总结
目录一、泛型类二、泛型方法三、泛型接口总结:一、泛型类书写格式: 类名<自定义字符>案例:package com.wxl.springbootpro01;import org.junit.jupiter.api.Test;public class MyTest { @Test public void test(){ Dog<String> dog=new Dog<String>(); ..原创 2022-02-11 18:11:59 · 479 阅读 · 0 评论 -
java ArrayList使用方法
目录一、添加二、遍历三、修改四、删除五、ArrayList常用方法一、添加添加使用add()或addAll(arraylist对象)方法package com.wxl.springbootpro01;import java.util.ArrayList;public class Test { @org.junit.jupiter.api.Test public void arrayListTest(){ ArrayList<...原创 2022-02-08 20:05:18 · 419 阅读 · 0 评论 -
idea 创建springboot项目
IDEA 如何快速创建 Springboot 项目_小白一个-CSDN博客_idea怎么创建springboot项目转载 2022-02-08 16:17:53 · 73 阅读 · 0 评论 -
java Hashmap使用方法
目录一、添加与修改二、删除三、遍历四、Hashmap常用方法一、添加与修改添加使用put(键名,键值)或putAll(Hashmap对象)修改时在存在的键名上重新赋值即可。案例:import java.util.ArrayList;import java.util.HashMap;import java.util.List;public class Test { @org.junit.Test public void hashmapTest().原创 2022-02-08 14:02:24 · 4177 阅读 · 2 评论 -
JavaWeb 实现密码修改的案例
目录一、基础环境搭建二、编写Dao数据库操作层三、编写服务层四、编写视图控制器五、jsp视图一、基础环境搭建见我的这篇博客:https://blog.csdn.net/qq_50909707/article/details/122609876二、编写Dao数据库操作层package com.wxl.dao.user;import com.wxl.model.User;import java.sql.Connection;import java.sql.SQLE原创 2022-01-26 10:52:57 · 6894 阅读 · 1 评论 -
JavaWeb 三层架构模拟登录登出实现案例 jsp
目录一、架构图二、目录结构三、实现(1)Dao层实现(2)服务层处理业务(3)控制器给视图返回数据三、其他一、架构图二、目录结构三、实现(1)Dao层实现数据库访问的基类:package com.wxl.dao;import java.io.IOException;import java.io.InputStream;import java.sql.*;import java.util.Properties;//操作数据库的公共类原创 2022-01-23 10:44:21 · 655 阅读 · 0 评论 -
JavaWeb 事务操作案例
package com.wxl.test;import org.junit.Test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class TestJdbc3 { @Test public void test() { //配置信息 //解决中文乱码:useUnicode=true&charac.原创 2022-01-20 16:20:31 · 123 阅读 · 0 评论 -
JavaWeb 过滤器实现登录验证案例
目录一、创建过滤器类二、配置web.xml三、登录页测试四、退出登录一、创建过滤器类package com.wxl.filter;import com.wxl.util.Constant;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;原创 2022-01-20 14:52:33 · 1782 阅读 · 0 评论 -
javaWeb 监听器
监听器案例代码:package com.wxl.listener;import javax.servlet.ServletContext;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;//统计网站在线人数: 统计sessionpublic class OnlineCountListener implements HttpSessionListener {原创 2022-01-20 10:48:32 · 619 阅读 · 0 评论 -
javaWeb 过滤器
过滤器架构:过滤器实现案例:servlet类:package com.wxl.jsp;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;pu原创 2022-01-20 10:17:26 · 75 阅读 · 0 评论 -
jsp 数据库写入读取案例
一、idea链接数据库点击数据库,找到对应数据库二、配置数据库信息成功连接后:三、建实javaBean类每个pojo类为一个数据表的映射。四、页面的读取<%@ page import="com.wxl.pojo.Person" %><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> &l...原创 2022-01-20 15:56:42 · 1444 阅读 · 0 评论 -
jsp 基础语法与案例
目录一、jsp基本符号使用二、内置对象三、jsp、jstl标签一、jsp基本符号使用使用案例代码:<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ page isELIgnored="false"%><html><head> <title>首页</title></head><bod..原创 2022-01-18 20:26:50 · 499 阅读 · 0 评论 -
jsp 实现流程图
原创 2022-01-18 11:17:21 · 640 阅读 · 0 评论 -
JavaWeb cookie和session的使用
一、cookie的使用@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter out=resp.getWriter(); //Cookie,服务器端从客户端获取 Cookie[] cookies=req.getCookies();//..原创 2022-01-18 10:53:07 · 573 阅读 · 0 评论 -
javaWeb jsp实现提交表单和重定向
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //处理请求 String username=req.getParameter("username"); String password=req.getParameter("password"); ...原创 2022-01-17 10:06:23 · 304 阅读 · 0 评论 -
javaWeb ${pageContext.request.contextPath}无法解析
问题在于webapp的版本在3.0以下可能不支持该写法,更新即可:<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns原创 2022-01-17 09:59:24 · 276 阅读 · 0 评论