java
文章平均质量分 66
java
陈行恩
相由心生
展开
-
java-spring创建bean对象的三种方式(无参构造、静态工厂、普通工厂)-----bean标签的使用以及bean的生命周期
【代码】java-spring创建bean对象的三种方式(无参构造、静态工厂、普通工厂)-----bean标签的使用以及bean的生命周期。原创 2022-10-24 23:51:57 · 529 阅读 · 0 评论 -
Java-SpringMVC 学习、JSON学习、AJAX学习、拦截器、文件上传
spring MVC 5.2.0 官方文档图为SpringMVC的一个较完整的流程图,实线表示SpringMVC框架提供的技术,不需要开发者实现,虚线表示需要开发者实现。配置web.xml,注册DispatcherServlet/ 和 /* 的区别:< url-pattern > / 不会匹配到.jsp, 只针对我们编写的请求;即:.jsp 不会进入spring的 DispatcherServlet类 。< url-pattern > /* ...原创 2022-08-26 20:29:40 · 26 阅读 · 0 评论 -
排序算法JAVA实现-希尔排序
由于多次插入排序,我们知道一次插入排序是稳定的,不会改变相同元素的相对顺序,但在不同的插入排序过程中,相同的元素可能在各自的插入排序中移动,最后其稳定性就会被打乱,所以shell排序是不稳定的。),希尔排序时间复杂度的下界是n*log2n。希尔排序的时间的时间复杂度为O(...原创 2022-08-14 16:08:36 · 127 阅读 · 0 评论 -
排序算法JAVA实现-插入排序
插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面)。...原创 2022-08-13 15:31:22 · 483 阅读 · 0 评论 -
排序算法JAVA实现-选择排序
第一次从待排序的数据元素中选出最小(或最大)的一个元素,与序列的起始位置元素进行位置交换,然后再从剩余的未排序元素中寻找到最小(大)元素,与已排序的序列的末尾的第一个元素进行位置交换。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。...原创 2022-08-12 21:56:20 · 200 阅读 · 0 评论 -
排序算法JAVA实现-冒泡排序
冒泡排序比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置,每一次比较,都会产生一个最大或者最下的数字,下一轮则可以少一次排序,依次循环,直到结束!public static void bubblingSort(int[] arrays){ //临时变量 int temp=0; for (int i=0;i<arrays.length-1;i++) { //如果没有走里面的,说明已经排好序了原创 2022-08-12 14:53:38 · 268 阅读 · 0 评论 -
使用JDBC来连接数据库
概念Java DataBaseConnectivity(JDBC),java语言操作数据==================================================================本质由sun公司提供的一套数据库操作的规则(即接口), 所有的数据库厂商提供该接口的实现类,即不同种类的数据库驱动操作流程:1.加载驱动2.创建连接3.创建一个statment对象,执行sql语句4.获取结果集resultset,处理结果5.管理连接=========原创 2022-08-12 00:51:10 · 228 阅读 · 0 评论 -
java-IOC(控制反转) 理论推导
面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。...原创 2022-08-06 21:58:31 · 258 阅读 · 0 评论 -
前端JSP中引用外部JS造成部分中文乱码
代码】前端JSP中引用外部JS造成部分中文乱码。原创 2022-07-20 01:06:34 · 296 阅读 · 0 评论 -
java-邮件发送
要在网络上实现邮件功能,必须要有专门的。原创 2022-07-19 01:10:17 · 103 阅读 · 0 评论 -
java-文件上传
负责处理上传的文件数据,并将表单中每个输入项封装成一个。可以将通过表单中每一个HTML标签提交的数据封装成一个。负责处理上传文件数据,并将表单中每个输入项封装成一个。在HTML页面input必须有name。所以我们需要在进行解析工作前构造好。,使用该方法处理上传文件简单易用。......原创 2022-07-17 20:22:47 · 237 阅读 · 0 评论 -
java-前端登录后端验证前端显示,造成CSS样式效果显示不出问题
查看是否是 过滤器中规定了响应类型原创 2022-07-09 20:42:36 · 257 阅读 · 0 评论 -
java-web:过滤器(filter)、监听器 (listener)
CharacterEncodingFilter.javaListener监听器例 :利用监听器实现 监听网站在线人数TestListener.javaweb.xml 中注册监听器编写index.jsp 测试原创 2022-07-08 22:48:54 · 155 阅读 · 0 评论 -
java-初识大前端Node.js、ES6、Npm、Babel、模块化规范、WebPack、Vue-element-admin本地安装问题及解决、Git安装及配置、uni-app
Node.js 是脱离浏览器环境的javascript 程序,基于V8引擎运行命令 : 或 控制台执行:启动服务器程序;浏览器中输入:如果以 格式解析停止服务:控制台输入 注意:如果报错,就说明权限不够,记得用管理员的方式打开node 执行ES6可以看到,index实在for循环内定义的,但是能够在for循环之外来使用的,这个并不是我们能够看到的,这种现象,我们称作为变量穿透,同时在定义变量PI的时候,是希望其不能被修改的,但是显而易见,它是可以被改变的。注意:原创 2022-07-08 00:33:44 · 489 阅读 · 0 评论 -
JAVA学习之路遇到的报错信息以及解决方法(持续更新中)
当你在发布WEB项目的时候,出现了这个错误。此时你可以先去查看其他博主或者网上查询相关的解决方案,如果还是不能解决问题,那么就试试此方法;原创 2022-07-04 21:04:10 · 2089 阅读 · 0 评论 -
Java-MVC三层架构
MVC 三层架构原创 2022-07-03 19:26:45 · 3008 阅读 · 0 评论 -
Java-JavaBean
一般用来和数据库做字段映射ORM(对象关系映射)idea连接mysql 数据库,生成实体类注意:,包名需要改一下即可;原创 2022-07-03 18:50:43 · 284 阅读 · 0 评论 -
java-web:Jsp(Java服务器页面)、JSTL
里面即是index.jsp 页面锁编译成的java文件注意: html的注释会在页面的审核元素上显示,但是jsp注释语言不会注意:EL表达式取值为null的话会自动过滤掉,但是 不存在就会返回null500.jsp当我访问index.jsp 的时候,内部发生了错误,就会跳转到500.jsp页面可以发现地址栏,没有变化,说明这个属于请求转发!当发生500错误的时候,就跳转到500.jsp500.jsphead.jspfoot.jsp但是这...原创 2022-07-03 16:34:31 · 334 阅读 · 0 评论 -
java-3分钟解决c3p0连接oracle数据库到使用数据库
明确jdk版本找寻对应的JDBC jar包Oracle数据库JDBC driver 版本 与 JDK版本的关系导入对应的jdbc jar包编写配置文件原创 2022-06-29 18:05:44 · 957 阅读 · 0 评论 -
java-web:Servlet、cookie、session
web.xml父级项目pom.xml子项目中pom.xml如果指定了固有的映射路径,那么就走固定的映射路径(固定的映射路径最高),如果找不到就走默认路径ServletContext对象获取共享数据TestServlet.javaTest2Servlet.javaweb.app访问的是但是通过进行了请求转发负责向浏览器发送响应头的方法响应码例:文件下载例:验证码重定向HttpServletRequest获取前端原创 2022-06-28 02:13:00 · 160 阅读 · 0 评论 -
java-初识WEB:HTTP
在java中,常把动态资源开发的技术统称为JavaWeb开发;输入例如:原创 2022-06-25 15:10:11 · 290 阅读 · 0 评论 -
java-JDBC详解
1.准备数据库2.导入驱动3. 创建java1和2 两种方式都可以,推荐使用下面一种,因为Driver这个类:不明白反射的可以去 反射机制事务已经提交了,提交了就不能回滚了因为是先发生了错误,此时数据还没有被提交,所以事务进行了回滚SQL注入问题PreparedStatement (防止SQL注入)报错:ResultSet创建第一个JDBC–工具类版JDBCUtil.javaJdbcDemo.java创建第一个JDBC–工具类版properties优化原创 2022-06-21 01:51:56 · 2218 阅读 · 1 评论 -
java-JVM入门
双亲委派机制沙箱安全机制 元空间:逻辑上存在实际上不存在OOM问题扩大内存PSYoungGen+parOldGen total (305664+699392)/1024=981.5正好是 最大的分配的内存,所以从这里可以看出,元空间是逻辑上存在,物理上不存在=============================================================================java-JVM快速入门 推荐狂神说...原创 2022-06-08 00:58:00 · 164 阅读 · 0 评论 -
JAVA-JUC并发编程
JUC:java.util.concurrent环境准备1.maven项目2.准备一个lombok<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version&.原创 2022-06-04 23:31:51 · 232 阅读 · 0 评论 -
23种设计模式之单例模式
懒汉式注意:上述在多线程中,容易出现线程安全问题此时是否就安全了?极端情况下,此模式也不安全,原因如下:此步骤不是一个原子性操作,实际上是有三步操作:那么可能就会出现指令重排,即,若线程A执行顺序为1-3-2,线程B执行顺序为1-2-3;那么当线程A执行到1-3时,此时还没有实际生成对象,但是线程B认为singletonHung!=null,那么就会直接走return,那么线程B的得到的是没有完成构造的对象。那么现在为了避免指令重排,就要使用volatile关键字避免指令重排那么经过上述操作原创 2022-06-02 00:21:12 · 135 阅读 · 0 评论 -
java-如何反编译
java反编译原创 2022-06-01 22:54:31 · 9633 阅读 · 0 评论 -
JAVA内存分析
JAVA内存类加载过程加载: 将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的java.lang.Class对象链接:将java类的二进制代码合并到JVM的运行状态之中的过程验证:确保加载的类信息符合JVM规范,没有安全方面的问题准备:正式为类变量(static)分配内存并设置类变量默认初始值的阶段,这些内存都将在方法区中进行分配解析:虚拟机常量池内的符号引用(常量名)替换为直接引用(地址)的过程初始化:执行类构造器&原创 2022-05-25 01:17:54 · 987 阅读 · 0 评论 -
JAVA-注解Annotation与反射Reflection
注解概念Annotation是从JDK5.0开始引入的新技术Annotation的作用:不是程序本身,可以对程序作出解释可以被其他程序(如编译器)读取Annotation的格式:"@注释名"或"@注释名(参数值)"Annotation使用位置:可以附加在package,class,method,field等等上面,相当于为其添加了额外的辅助信息,可以通过反射机制编程实现对这些元数据的访问内置注解@Override:定义在java.lang.Override中,表示一原创 2022-05-25 01:17:00 · 224 阅读 · 0 评论 -
JAVA-网络编程
网络编程计算机网络计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程要素IP和端口号网络通信协议IP地址java.net.InetAddress此类表示Internet协议(IP)地址概念唯一定位一台网络上计算机127.0.0.1 :本机localhost地址IP地址分类IPV4:4个字节组成IPV6:128位。8原创 2022-05-24 02:09:57 · 105 阅读 · 0 评论 -
JAVA-集合框架篇
CollectionListArrayListLinkedListVectorSetHashSetTreeSetIteratorMapHashMapTreeMapCollections 工具类泛型原创 2022-05-21 22:57:17 · 240 阅读 · 0 评论 -
JAVA-IO流
IO流概述IO:输入/输出(INPUT/OUTPUT)流:是一种抽象概念,是对数据传输的总称,也就是说数据在设备间的传输称为流,流的本质是数据传输IO流分类按照数据的流向1. 输入流:读数据2. 输出流:写数据按照数据类型字节流字符流一般IO流分类指的是按照数据类型来区分区分字节流与字符流利用windows自带的记事本打开,如果里面的内容是读不懂(非传统语言)的就是使用的字节流,否则就是字符流;‘’字节流字节流写入数据字节流抽象基类InputStrea原创 2022-05-08 22:12:13 · 490 阅读 · 0 评论 -
JAVA-多线程篇
程序、进程、线程在操作系统中运行的程序就是进程,一个进程里面可以有多个线程;程序 是指令和数据的有序集合其本身没有任何运行的含义,是一个静态的概念;进程 则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位;线程 是CPU调度和执行的单位;注意 :大多数线程都是模拟出来的,真正的多线程是指有多个CPU,即多核,如果是模拟出来的多线程,在同一时间点,CPU只能执行一个代码,因为切换的快,才有了同时执行的错觉。线程就是的独立执行路径在程序运行时,即使没有自己创建线程,.原创 2022-04-21 22:07:18 · 222 阅读 · 1 评论 -
Lambda表达式
为什么使用Lambda表达式避免匿名内部类定义过多可以让代码看起来简洁去掉没有意义的代码,只留下核心的逻辑*理解Funtional Interface(函数式接口) 是学习java8 lambda表达式的关键函数式接口的定义任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。简化过程:public class TicketBuyer { //2.静态内部类 static class TicketBuyerImpl2 implements I原创 2022-03-28 16:33:04 · 337 阅读 · 0 评论 -
23种设计模式之代理模式(静态代理)
静态代理模式真实对象和代理对象要实现同一个接口代理对象要代理真实角色优点:代理对象可以做很多真实对象做不了的事情真实对象专注做自己的事情例:买票public class TicketBuyer implements ITicketPurchase{ @Override public void buyTicket() { System.out.println("已经买到票了!"); } public static void ma原创 2022-03-28 15:45:03 · 674 阅读 · 0 评论 -
JAVA常用类
Object类Object类是类层次结构的根,每个类都可以将Object作为超类,所有类都直接或者间接的继承该类Object只有无参构造方法Math类包含执行基本数学运算的方法Random类File类File类概述File:它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在也可以是不存在;包装类将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方原创 2022-03-24 16:46:28 · 1342 阅读 · 1 评论 -
JAVA SE基础知识回顾(5)
异常Exception检查性异常运行时异常错误:错误不是异常!java把异常当作对象来处理,并定义了一个基类java.lang.Throwable作为所有异常的超类ERROR*Error 类对象由java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关。java虚拟机运行错误(virtual machineerror),当jvm不再有继续执行操作的内存资源时,将出现outofmemoryerror,这些异常发生时,虚拟机一般会选择线程终止;还有发生在虚拟机视图执原创 2022-03-09 16:44:51 · 224 阅读 · 0 评论 -
JAVA SE基础知识回顾(4)
面向对象编程OOPObject-Oriented Programming)面向对象的三大特性封装继承多态注意一个java类中只能有一个public 修饰的类类与对象的关系类:类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物;对象:对象是抽象概念的具体实例创建与初始化对象使用new关键字创建的时候,除了分配内存空间之外,还会给 创建好的对象 进行默认的初始化以及对类中构造器的调用。类中的构造器也称构造方法,是原创 2022-03-09 14:19:48 · 182 阅读 · 0 评论 -
JAVA SE基础知识回顾(3)
数组数组的定义数组是相同类型数据 的有序集合。数据描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。数组的声明创建首先必须声明数组变量,才能使用数组int[] arrays;//首选int arrays[];//效果相同,非首选使用new操作符来创建数组,语法如下:int[] arrays=new int[5]数组的元素通过索引来访问,数字索引从0开始获取数字长度:arrays.leng原创 2022-03-08 16:04:51 · 386 阅读 · 0 评论 -
JAVA SE基础知识回顾(2)
Scanner 对象next()package com;import java.util.Scanner;public class test1 { public static void main(String[] args) {//创建一个扫描器对象,用于接受键盘数据 Scanner scanner = new Scanner(System.in); System.out.print("使用next接收:");// 判断用户是否输入字符串原创 2022-03-08 13:50:24 · 214 阅读 · 0 评论 -
JAVA SE基础知识回顾(1)
注释单行注释 //多行注释 /* */文档注释 /** */标识符关键字标识符注意点以字母、美元符$、或者下划线_ 开头首字母之后,可以是字母、美元符$、下划线_ 或者数字组合不能使用关键字作为变量名或方法名标识符大小些敏感可以使用中文命名,但不建议使用数据类型在这里插入代码片强类型语言: 必须先定义后使用,例如java弱类型语言: 可以先使用后定义,例如javascriptlong类型与float类型long i=123L;float原创 2022-03-07 17:19:55 · 273 阅读 · 0 评论