
java
new 杨海波
这个作者很懒,什么都没留下…
展开
-
Docker快速入门
docker应用广泛docker是一个用来装程序及其环境的容器,属于linux容器的封装,提供简单易用的容器使用接口。解决了环境配置的难题,每台电脑环境都不一样,相比虚拟机,容器体积小启动快相当于轻量化虚拟机。docker提供了统一的环境,快速拓展,弹性伸缩的云服务,防止其他用户的进程把服务器资源占用过多docker特点标准化运输方式,存储方式,API接口。...原创 2022-08-16 13:45:38 · 493 阅读 · 0 评论 -
Java项目--书评网信息系统
在学习完ssm相关知识后,有了基础能力就想通过完成一个javaweb项目来巩固自己所学知识以及在具体开发过程中找出自己的不足因此便完成了书评网信息系统。手机端网站后台管理登陆界面。原创 2022-08-04 22:43:34 · 950 阅读 · 1 评论 -
Git下载、安装、环境配置与远程仓库提交
13、启用实验配置选项,第一个选项,启用对伪控制台的实验性支持,(新)这允许在Git Bash窗口中运行原生控制台程序,如Node或Python,而不使用winpty,但它仍然有已知的bug,第二个选项,启用了实验性的内置文件系统监视器(新!8、配置结束行转换方式,Git应该如何处理文本文件中的行结尾,第一个选项,下拉是转换Windows风格,提交转换为iunix风格,在windows这是推荐默认的设置。最后一个选项,下拉和提交都不进行任何转换,对于跨平台项目(“核心项目”),不推荐选择此选项。......原创 2022-08-04 22:07:43 · 781 阅读 · 0 评论 -
线程池简介
软件中的池,可以理解为计划经济1.反复创建线程开销大2.过多的线程会占用太多的内存用少量的线程——避免内存占用过多让这部分线程都保持工作,且可以反复执行任务——避免生命周期的损耗正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消常见的队列类型1.直接交接:SynchronousQueue2.无界队列:LinkedBlockingQueue3.有界队列:ArrayBlockingQueue4.延迟队列:DelayedWorkQueue自动创建(即直接原创 2022-07-17 22:38:29 · 406 阅读 · 0 评论 -
Description : The <project> element is the root of the descriptor
IDEA导入maven项目时候pom文件报如下错误:Tag name: project Description : The element is the root of the descriptor.The following table lists all of the possible child elements. Version : 3.0.0+多种原因:解决方法:原创 2022-06-03 23:38:08 · 9672 阅读 · 0 评论 -
Java异常体系
1、Error错误:(这种错误无法处理)描述了Java运行时系统的内部错误和资源耗尽错误。一般是指虚拟机(JVM)相关的问题,如系统崩溃,虚拟机出错误等,这种错误无法恢复或不可能捕获,将导致应用程序中断,通常不处理。因为如果出现这样的内部错误,除了通告用户,并尽力使程序安全地终止之外,再也无能为力了。2、Exception异常:Java的异常分为两种,checked Exception(编译时异常也叫非运行时异常)和 RuntimeException(运行时异常)。...原创 2022-05-29 12:32:28 · 256 阅读 · 0 评论 -
集群,分布式和微服务的区别
一.概念集群: 同一个业务,部署在多个服务器上分布式: 同一个业务,拆分成多个子业务,部署在不同的服务器上微服务: 同一个业务,按照功能模块拆分,每一个服务只对应一个功能模块二.区别 集群是多台服务器一起处理同一个业务,可以使用负载均衡使得每一个服务器的负载相对平衡,集群中的一台服务器出现问题,该服务器所负责的业务可以由其他的服务器代为处理.集群是一种物理形态. 分布式是把一个业务拆分成多个子...原创 2022-05-27 21:09:02 · 2202 阅读 · 4 评论 -
Lambda表达式的使用
什么是Lambda表达式?Lambda表达式,也可称为闭包。类似于JavaScript中的闭包,它是推动Java8发布的最重要的新特性。在哪里使用 Lambda实现匿名内部类 函数声明与调用Lambda表达式语法Lambda表达式有三个部分:1、参数列表——这里它采用了Comparator中compare方法的参数,两个Apple。2、箭头——箭头->把参数列表与Lambda主体分隔开。3、Lambda主体——比较两个Apple的重量。表达式就是Lambda的返回值了。原创 2022-05-23 22:28:53 · 909 阅读 · 0 评论 -
js正则表达式把数字格式化成XXXX-XXX-XXX
我有一个固定的10位数字,要格式化成XXXX-XXX-XXX形式我这样写:alert("1234567890".replace(/(\d{4})(\d{3})(\d{3})/g, "$1-$2-$3")); 没问题1234-567-890原创 2022-04-26 21:07:44 · 914 阅读 · 0 评论 -
开源软件等于免费吗
一、关于开源开源软件在追求“自由”的同时,不能牺牲程序员的利益,否则将会影响程序员的创造激情,因此世界上现在有 60 多种被开源促进组织(Open Source Initiative)认可的开源许可协议来保证开源工作者的权益。开源协议规定了你在使用开源软件时的权利和责任,也就是规定了你可以做什么,不可以做什么。开源协议虽然不一定具备法律效力,但是当涉及软件版权纠纷时,开源协议也是非常重要的证据之一。二、如何选择开源协议世界上的开源协议有上百种,很少有人能彻底搞清它们之间的区别,即使在原创 2022-03-08 10:43:45 · 2198 阅读 · 0 评论 -
软件开发流程规范介绍
先了解一下软件开发流程概念作用:了规范互联网软件产品开发项目管理过程,指导开展项目研发、管理等活动,缩短开发周期,提高软件开发质量,降低开发成本,提高开发效率和效益,制定软件开发流程管理规范。下图所示的是一个软件产品开发大体上所需要经历的全部流程和各个重要环节需要提交的交付物:下面进行每个流程的具体介绍1、项目立项分析人员进行应用调查与分析,确认软件的应用需求。成立项目评审会,开发总监、部门经理和指定人员必须参加。对项目进行可行性研究,编写项目建议书,评估项目的难度和工作量,形成.原创 2022-02-23 20:32:56 · 4588 阅读 · 0 评论 -
MySQL报错解决——Parameter index out of range (1 > number of parameters, which is 0).
今天在操作Mysql进行删除操作时,出现了这么一个错误。Parameter index out of range (1 > number of parameters, which is 0).结合网上各位大佬给出的解答,终于将其解决。数据库错误:Parameter index out of range (1 > number of parameters, which is 0).错误发生原因其实很简单,就是当设置参数时,...原创 2021-12-03 15:11:41 · 28919 阅读 · 1 评论 -
eclipse中光标变成黑条的解决办法
在使用eclipse的过程中光标莫名其妙变成类黑条遇到这种情况应该是你不小心按到了insert键,只要再按一下insert键就会恢复正常了。或者输入下面的快捷键,建议两种都试试第一种是按下fn+del第二种是按下shit+0键,注意这里的0是小键盘上的0键...原创 2021-11-17 17:04:08 · 3312 阅读 · 0 评论 -
Session
1、Session是什么?服务器端会话技术,在一次会话的多次请求中共享数据,数据存放在服务器的内存中。 (浏览器从打开到关闭是一次会话)2、基本介绍session机制采用的是在服务器端保持 HTTP 状态信息的方案。为了加速session的读取和存储,web服务器中会开辟一块内存用来保存服务器端所有的session,每个session都会有一个唯一标识sessionid,根据客户端传过来的jsessionid(cookie中),找到对应的服务器端的session。为了防止服务器端的sess.原创 2021-10-21 21:59:08 · 336 阅读 · 0 评论 -
利用Referer请求头防止“盗链”
一、介绍在实际开发中,经常会使用Referer头字段,例如,一些站点为了吸引人气并且提高站点访问量,提供了各种软件的下载页面,但是它们本身没有这些资源,只是将下载的超链接指向其它站点上的资源。而真正提供了下载资源的站点为了防止这种“盗链”,就需要检查请求来源,只接收本站链接发送的下载请求,阻止其它站点链接的下载请求。二、获取头信息里的refererReferer请求头包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。服务端一般使用Referer请求头识...原创 2021-09-29 16:28:41 · 589 阅读 · 0 评论 -
定时刷新页面
刷新:response.setHeader("Refresh", "2");response.getWriter().println(new java.util.Date());跳转:response.getWriter().write("sdfsdfs");response.setHeader("refresh", "3;url=/WebTest/index.jsp");倒计时效果实现:<body>登录成功! <span id="span1" style原创 2021-09-29 16:20:45 · 374 阅读 · 0 评论 -
HTTP协议和资源下载
1、简单的HTTP协议HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写。HTTP 协议和 TCP/IP 协议族内的其他众多的协议相同, 用于客户端和服务器之间的通信。请求访问文本或图像等资源的一端称为客户端, 而提供资源响应的一端称为服务器端。2、TCP/IP协议HTTP协议是构建在TCP/IP协议之上的,是TCP/IP协议的一个子集。3、主要特点http1.0的主要特点:简单快速:当客户端向服务器端发送请求时,只是简单的填..原创 2021-09-29 16:07:10 · 1003 阅读 · 0 评论 -
Servlet跳转页面的重定向和转发
当我们浏览一个网页的时候,从index.jsp页面到xx.jsp页面,这里存在一个跳转的过程。Servlet实现页面跳转有两种办法:转发和重定向。注意哦,转发对新页面的请求是发生在后端,重定向对新页面的请求是发生在前端。转发: 1、request.getRequestDispatcher("跳转页面URL").forward(request, response); 2、POST 请求; 3、页面跳转后地址栏URL不变; 4、发送一次...原创 2021-09-26 15:24:16 · 556 阅读 · 0 评论 -
Servlet深入(二)
Servlet 的使用流程设置请求编码格式 设置响应编码格式 获取请求信息 处理请求信息 响应处理结果数据流转流程浏览器—(发出请求)—>服务器----(查询数据库有无此数据)—>数据库浏览器<—(响应请求)—服务器<—(响应并传递数据)----数据库四大作用域四大作用域分别是:①page域:作用在一个页面中②request域:作用在一个请求中,只要request不重定向,数据就不会失效③session域:作用在一个会话中,只要用户不..原创 2021-09-24 16:39:29 · 112 阅读 · 0 评论 -
Servlet深入
servlet简介一般的网页程序,是由我们通过浏览器访问来实现的,在这一过程中浏览器发送请求,服务器接收请求,并对请求做出响应,这就是我们熟悉的B/S模型(浏览器-服务器),而servlet就是对请求做出处理的组件,运行于支持java的应用服务器中。关联源码:下载tomcat源码: 2.在esclipse配置源码:3.配置好后,就可以查看源码servlet体系结构:Servlet中的Service、doGet、doPost 方法浏览器发出...原创 2021-09-24 16:17:52 · 119 阅读 · 0 评论 -
BeanUtils简介
本文章将对BeanUtils的使用和数据类型转换等进行介绍。 什么是BeanUtils BeanUtils一套开发包,Apache公司提供 ,专门进行javabean操作,在web层各种框架中被使用,例如:struts 使用BeanUtils操作JavaBean 。 实例 1、下载BeanUtils的jar :commons-beanutils 、commons-logging,需要同时下载两个jar包。(BeanUtils依赖Logging的jar包 ) 2、将beanu.原创 2021-09-18 11:14:00 · 1007 阅读 · 1 评论 -
在eclipse中配置Tomcat编写第一个Servlet
将tomcat整合到eclipse中打开eclipse for Java EE ,选择菜单栏Windows-->preferences,弹出如下界面:选择对应的Tomcat版本,继续:2.或者点击这个地方:选择对应的Tomcat版本,继续:然后再配置一下这里:3.导入Servlet-api.jar包找到tomcat的lib目录下,sevlet-api.jar包,复制到Eclipse项目中的lib目录下并且增加到Build path中去。要在Ec..原创 2021-09-17 20:29:22 · 774 阅读 · 2 评论 -
数据库异常 :java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)
这个错误我想应该是比较常见的一种错误了,但,出现错误并不可怕,可怕的是你并不知道原因,从而不知道如何解决问题。java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES/NO)翻译过来就是密码校验未通过,括号内是:使用密码:是/不是。一开始记得查看是不是你本地账号密码错误,或数据库地址错误。解决方案:从网上找了好多解决办法:改数据库密码,重装数据库了,清楚缓存等等,结.原创 2021-09-15 22:40:45 · 1034 阅读 · 2 评论 -
JDBC介绍
什么是JDBC?JDBC是Java DataBase Connectivity的缩写,它是Java程序访问数据库的标准接口。 但它只是规范,不做具体实现。于是数据库厂商又根据JDBC标准,实现自家的驱动Driver。 ava标准库自带的JDBC接口其实就是定义了一组接口,而某个具体的JDBC驱动其实就是实现了这些接口的类: ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐│ ┌───────────────┐ │ │ Java App ││ └───────────────原创 2021-07-19 16:27:53 · 276 阅读 · 1 评论 -
java网络编程思维导图
原创 2021-07-16 09:56:55 · 166 阅读 · 0 评论 -
java枚举
为什么需要枚举?一些方法在运行时,它需要的数据不能是任意的,而必须是一定范围内的值,比如成绩Grade只能为ABCDE。此类问题在JDK5以前采用自定义带有枚举功能的类解决,Java5以后可以直接使用枚举予以解决。 枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数。枚举在曰常生活中很常见,例如一个人的性别只能是“男”或者“女”,一周的星期只能是 7 天中的一个等。类似这种当一个变量有几种固定可能的取值时,就可以将它定义为枚举类型。 Java 中的每一个枚举都继承自 java....原创 2021-07-14 15:49:14 · 406 阅读 · 0 评论 -
模拟WEB服务器
模拟的浏览器功能 服务端原创 2021-07-14 15:41:20 · 201 阅读 · 0 评论 -
java网络编程
网络编程也叫做Socket编程,即套接字编程。 Socket类 该类实现客户端套接字,套接字指的是两台设备之间通讯的端点 Scoket就是为网络编程提供的一种机制 通信的两端都有Socket udp网络编程 从技术意义上来讲,只有TCP才会分Server和Client。对于UDP来说,从严格意义上来讲,并没有所谓的Server和Client。 DatagramSocket与DatagramPacket 发送端与接收端就是两个独立的应用程序 TCP网络编程 ..原创 2021-07-14 15:35:55 · 99 阅读 · 0 评论 -
java网络编程概念
网络编程的目的就是直接或间接地通过网络协议与其他计算机进行通信 计算机网络的主要功能 资源共享 信息传输与集中处理 均衡负荷与分布处理 综合信息服务 计算机网络分类 局域网 城域网 广域网 互联网 等等。。 网络模型 OSI(开放系统互联)参考模型 TCP/IP参考模型 网络通信三要素 IP地址 每个人的电脑都有一个独一无二的IP地址,方便查找电脑 IP地址根据版本可以分类为:IPV4和IPV6 IPV4...原创 2021-07-14 15:12:17 · 109 阅读 · 0 评论 -
反射思维导图
原创 2021-07-09 16:25:07 · 574 阅读 · 0 评论 -
反射 获取类的属性
获取类的私有字段并修改值看到这里你可能会说,有了set方法,什么私有不私有,test.set不就可以了,但是这里要注意我们是没有办法得到这个类的实例的,要不然都可以得到实例就没有反射一说了。我们在通过反射得到类的实例之后先获取字段:...原创 2021-07-09 15:31:06 · 159 阅读 · 0 评论 -
反射 获得类的方法
获得类方法的方法Method getMethod(String name, Class[] params),根据方法名,参数类型获得方法原创 2021-07-07 22:57:49 · 100 阅读 · 0 评论 -
反射 构造函数
通过有参数的构造方法来创建对象原创 2021-07-09 10:15:30 · 98 阅读 · 0 评论 -
反射 三种获得class对象的方式
Class.forName() 返回与带有给定字符串名的类接口相关联的Class对象 new类名().getClass(); 表示此对象运行时类的Class对象 类名.class 所有的数据类型的类名、基本数据类型都可以通过.class方式获取其class对象...原创 2021-07-07 22:50:11 · 307 阅读 · 0 评论 -
IO流思维导图
原创 2021-07-07 22:44:22 · 258 阅读 · 0 评论 -
工厂类设计模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。它的主要作用就是用来生产对象 降低了代码之间的耦合性。运行结果:原创 2021-07-07 00:06:06 · 102 阅读 · 0 评论 -
初识java反射
反射就是在运行时才知道要操作的类是什么,并且可以在运行时获取类的完整构造,并调用对应的方法。 反射可以说是java最强大的技术了,很多优秀的开源框架都是通过反射完成的。原创 2021-07-07 00:03:21 · 82 阅读 · 0 评论 -
IO序列化
序列化就是将对象写入到IO流中 ,反序列化从IO中恢复对象 被序列化的类必须实现Serializable接口 transient关键字(修饰属性,这个属性就不会在被序列化,序列化主要是对象属性的序列化)。运行结果:...原创 2021-07-06 23:59:06 · 390 阅读 · 0 评论 -
Module ‘工程名‘ production: java.lang.ClassCastException: org.jetbrains.jps.builders.java.depe
错误信息:Module 'idea-JavaPro' production: java.lang.ClassCastException: org.jetbrains.jps.builders.java.depe问题:简单来说就是该工程编译问题。解决方法:1.找到列表的Bulid–>Build Project 重新编译即可。2.File-》Roload All from Disk...原创 2021-07-06 11:06:43 · 5677 阅读 · 7 评论 -
压缩流输入输出流
ZIP量一种较为常见的压缩形式,在java中要实现ZIP的压缩需要导入java.util.zip包,可以使用此包中的ZIPFile、ZipOutStream、ZipInputStream、ZipEntry几个类完成 ZipEntry类产生的对象,是用来代表一个ZIP压缩文件内的进入点(entry)。 ZipInputStream类用来读取ZIP压缩格式的文件,所支持的包括已压缩及未压缩的进入点(entry)。 ZipOutputStream类用来写出ZIP压缩格式的文件,而且所支持的包括已压缩及未压缩原创 2021-07-05 23:22:31 · 459 阅读 · 0 评论