![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaEE
yg52java
这个作者很懒,什么都没留下…
展开
-
URL 源码分析
URL表示统一资源定位器,指向世界上“资源”的指针万维网。资源可以是简单的文件或目录,或者它可以是对更复杂对象的引用,例如对数据库或搜索引擎的查询。这个类的作用就是URL的定位的作用,定位了每个资源符号引用的位置。整个URL大体上就是对URL内容进行规范,对URL进行解析。构造方法是通过文件里面的端口和文件的访问主机对这个URL进行构造。public URL(String protocol, String host, int port, String file) throws Malformed原创 2020-09-11 16:15:27 · 8470 阅读 · 1 评论 -
DualStackPlainSocketImpl 源码
这两个类都继承了AbstractPlainSocketImpl抽象套接字实现接口。DualStackPlainSocketImpl这个类定义了在Windows平台上使用的普通SocketImpl大于或等于Windows Vista的版本使用这个套接字。可以通过单个文件描述符来实现套接字的连接。套接字创建方法。void socketCreate(boolean stream) throws IOException { if (fd == null) throw new Socket原创 2020-09-07 14:23:07 · 1706 阅读 · 0 评论 -
HttpConnectSocketImpl 源码分析
HttpConnectSocketImpl依赖内部HTTP协议处理程序的基本SocketImpl执行HTTP隧道和身份验证的实现。这个sockets impl被换出并替换为来自HTTP的socket。这个类继承了PlainSocketImpl,PlainSocketImpl里面实现了基本的套接字连接类。这两个子类DualStackPlainSocketImpl,TwoStackPlainSocketImpl继承了PlainSocketImpl来让win能在不同版本的系统上实现套接字。整个HttpConnec原创 2020-09-07 11:26:27 · 426 阅读 · 0 评论 -
HttpURLConnection 源码分析
这个类是继承了URLConnection这个类,他的作用是实现了一个Http的一个URL连接。1.通过调用URL.openConnection()来获得一个新的HttpURLConnection对象,并且将其结果强制转换为HttpURLConnection. 2.准备请求。一个请求主要的参数是它的URI。请求头可能也包含元数据,例如证书,首选数据类型和会话cookies. 3.可以选择性的上传一个请求体。HttpURLConnection实例必须设置setDoOutput(true),原创 2020-09-07 10:54:52 · 394 阅读 · 0 评论 -
好看的在线答疑系统(工厂模式+策略模式)JAVA
下载地址:https://download.csdn.net/download/u014452148/12406214原创 2020-05-10 16:09:13 · 222 阅读 · 0 评论 -
Spring 源码阅读零碎知识
本文收集Spring源码阅读时候的零碎知识点:1.ResourceLoader代表了加载资源的一种方式,正是策略模式的实现。策略模式(Strategy),定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换。UML结构图如下:https://www.cnblogs.com/adamjwh/p/11011095.html...原创 2020-05-10 09:48:47 · 103 阅读 · 0 评论 -
SSM图书管理系统
下载地址:原创 2020-04-26 21:30:09 · 2023 阅读 · 5 评论 -
当request.getParameter()获取不到参数时候
,有可能是因为tomcat maxPostSize连接数太小引起的,tomcat的连接数在6代以后,限制大小的maxPostSize从原来的0或者小于0,改为了小于0原创 2020-03-16 12:34:03 · 4454 阅读 · 2 评论 -
SpringMVC项目启动不起来应该如何处理
SpringMvc项目启动不起来应该使用重新部署Artifical就可以解决一大半的问题原创 2020-02-06 11:33:49 · 1248 阅读 · 0 评论 -
Java.awt
java.awt是一个软件包,包含用于创建用户界面和绘制图形图像的所有分类。在AWT术语中,诸如按钮或滚动条之类的用户界面对象称为组件。Component类是所有 AWT 组件的根。有关所有 AWT 组件的公共属性详细描述,请参见 Component。当用户与组件交互时,一些组件会激发事件。AWTEvent 类及其子类用于表示 AWT 组件能够激发的事件。有关 AWT 事件模型的描述,请参见 A...原创 2018-12-07 14:29:54 · 315 阅读 · 0 评论 -
链表数据结构
目标:了解链表数据结构保存数据的特点。特点:增删快,查询慢。链表中保存数据的空间称为节点。方法都是围绕头和尾进行设计的。链表分为:单向链表:不保证元素的存取顺序。两个部分组成双向链表:可以保证元素的存取顺序,有一条链子专门记录元素的顺序。三个部分组成。每个节点包括三个部分:一个是存储数据元素的数据域,一个是存储下一个结点地址的指针域,最后一个是当前节点的地址。我们常说的链表结构有单向链表和...原创 2018-12-27 20:56:17 · 162 阅读 · 0 评论 -
JAVA 核心知识 Cloneable
Cloneable 这个类可以调用一切的克隆类,克隆类里面的所有成员都可以被克隆的对象进行调用。这样克隆就是创建了一个新的对象。克隆的实现方法Cloneable 实现方法就是Employee copy = original.clone();copy.成员方法和成员变量。...原创 2018-12-28 17:05:18 · 113 阅读 · 0 评论 -
lambda,抽象式接口
lambda代表表达式就是传入一段代码,运用lambada来传递一段程序代码:lambda有參构造表达式规则(String first,String second)->{if(first.length() < second.length())return -1;else if(first.length() > second.length()) return 1;els...原创 2018-12-28 17:32:29 · 175 阅读 · 0 评论 -
断言和异常
派生于 RuntimeException 的异常包含下面几种情况:•错误的类型转换。•数组访问越界 i•访问 null 指针不是派生于 RuntimeException 的异常包括:•试图在文件尾部后面读取数据。•试图打开一个不存在的文件。•试图根据给定的字符串查找 Class 对象, 而这个字符串表示的类并不存在,,如果出现 RuntimeException 异常, 那么就一定是...原创 2018-12-28 20:14:45 · 809 阅读 · 0 评论 -
Java 中的Iterator的好处 和for循环有什么不同
迭代器模式。Iterator对已集合类中的任何一个实现类,都可以返回这样一个Iterator对象。就和循环一样,好处是可以适用于任何一个类,而且实际上java对它进行了优化,**比直接用index访问快一点**(这一点没法考证,别人都这样说)。不过呢,有一点很好,就是用起来确实很好用,加上泛型就更好用啦。比如说这样一个例子ArrayList< String > arr = new Ar...原创 2018-12-24 14:56:16 · 1277 阅读 · 0 评论 -
Java中的hashMap和hashCode
hashMap和hashCode两个都是成对出现,hashmap的功能和数据库的差别是 hashmap是成对数据 删除前面或者后面的关键字或者内容,hashmap里面的所有东西全部会被删除,hashcode是创建一个哈希表存放的集合。hashMap查找东西比普通的index更加迅速 更加快。...原创 2018-12-24 14:12:04 · 691 阅读 · 0 评论 -
Collection类里面的一个小问题
如果list是属于collection的 那么list调用remove会把所有的存在的元素全部删除,因为java中list里面的不是按照index顺序来排列的 他们是一个集合无序的 所以删除 就全部都删除 list.remove就全部删除list中所有的元素了...原创 2018-12-24 15:52:01 · 154 阅读 · 0 评论 -
== 和 String中的equals的区别
在初学Java时,可能会经常碰到下面的代码:1 String str1 = new String(“hello”);2 String str2 = new String(“hello”);34 System.out.println(str1str2);5 System.out.println(str1.equals(str2)); 为什么第4行和第5行的输出结果不一样?和equals...原创 2018-12-24 17:13:27 · 199 阅读 · 0 评论 -
验证码题目中碰到的问题
for循环中的String 不能直接被判断为 null 模式,因为 判断为 null模式会导致程序报错。判断写出空指针异常报错。应该的方式是 加一个判断。把代码判断的语句直接写到if语句中。我的错误代码是:package com.guang.DataFrom;import java.io.*;import java.util.Scanner;public class DataFrom {...原创 2019-05-24 21:53:23 · 203 阅读 · 0 评论 -
Synchronized和ReenTrantLock的区别
Synchronized的使用比较方便简洁,并且由编译器去保证锁的加锁和释放,而ReenTrantLock需要手工声明来加锁和释放锁,为了避免忘记手工释放锁造成死锁,所以最好在finally中声明释放锁。锁的细粒度和灵活度:很明显ReenTrantLock优于Synchronized...原创 2018-12-30 20:54:00 · 100 阅读 · 0 评论 -
main方法编写遇到的问题
main static方法中要调用的方法 必须同类中也要用static 静态来修饰。原创 2018-12-25 16:16:26 · 170 阅读 · 0 评论 -
迭代器的原理
首先新创建一个新的迭代器对象,然后迭代器的指针,他的第一次指针指在了起始集合元素的前面的位置。首先用hasNext判断是否有集合中下一个的元素。然后再用next来指针移动到下一位的位置,调出第一个位置的数据。每次使用next 都要再使用hasNext来判断下一个元素还存在么。直到最后 hasNext指向了末尾,返回了一个false的值迭代器遍历集合完毕。迭代器不能改变元素中的数值,只能用来遍历,...原创 2018-12-25 16:28:56 · 299 阅读 · 0 评论 -
多线程如何返回一个数值
一.通过类变量和方法返回数如下:public class MyThread extends Thread{private String value;public void run() { value = "通过成员变量返回数据"; } public static void main(String[] args) throws Exception { ...原创 2018-12-31 15:34:23 · 1582 阅读 · 1 评论 -
为什么需要内部类
每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。内部类有效的实现了“多重继承”。内部类允许实现多个非接口类型。如果拥有的是抽象的类或具体的类,而不是接口,那就只能使用内部类才能实现多重继承。1)内部类有多个实例,每个实例都有自己的状态信息,并且与其外围类对象的信息相互独立。2)在单个外围类中,可以让多个内部类以不同的方式实现同一...原创 2018-12-25 19:36:36 · 183 阅读 · 0 评论 -
Lambda表达式
Lambda省略规则:1.小括号内的参数可以省略。2.如果小括号内且仅有一个参数,则小括号可以省略。3.如果大括号有且仅有一个返回值,则无论是否有返回值,都可以省略大括号,return关键字及语句分号。...原创 2019-01-02 15:16:56 · 161 阅读 · 0 评论 -
类加载器,动态代理
JAVA类装载方式,有两种:1.隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中。2.显式装载, 通过class.forname()等方法,显式加载需要的类常见的类加载器有三种,每个类加载器负责加载不同位置的类:1)Bootstrap 根类加载器;2)ExtClassLoader 扩展类加载器;3)AppClassLoader 系统...原创 2019-01-13 07:39:52 · 175 阅读 · 0 评论 -
Collection List Map Set总结
容器最基本的操作规律。集合(容器)的操作规律: CRUD create read update delete集合类型集合按照其存储结构可以分为两大类,分别是://1.单列集合java.util.Collection//2.双列集合java.util.MapCollection:包含了List,Set子接口一、List的特点是元素有序、元素可重复。底层维护的是数组。每个元素都...原创 2019-05-24 21:52:28 · 222 阅读 · 1 评论 -
JDBC深入了解
JDBC批处理的API1.Statement批处理:void addBatch(String sql) 添加sql到缓存区(暂时不发送)int[] executeBatch() 执行批处理命令。 发送所有缓存区的sqlvoid clearBatch() 清空sql缓存区PreparedStatement批处理:void addBatch() 添加参数到缓存区int[] execu...原创 2019-01-22 16:19:41 · 137 阅读 · 0 评论 -
Web综合案例常见问题
C3P0文件要放在根目录下才能起作用,不然会产生这个错误:com.mchange.v2.resourcepool.CannotAcquireResourceException:ResourcePool无法从其主工厂或源获取资源。lib不导入会产生:org.springframework.jdbc.CannotGetJdbcConnectionException:无法获取JDBC连接; 嵌套异常是...原创 2019-02-26 12:15:17 · 231 阅读 · 0 评论 -
WEB 项目开发阶段遇到的问题
jsp引擎不处理<%%>以外的部分代,这以外的部分代码直接送到客户端<%=comments%>注释部分<jsp:forward page=“forwardto.jsp”><jsp:param name=“username” value=“winney” /></jsp:forward/>HttpServlet 继承了 Gener...原创 2019-03-11 11:17:10 · 566 阅读 · 0 评论 -
git上克隆的项目在idea里打开为什么没有项目目录?
idea无法显示项目的目录?这个问题可能很多人遇到了,在这做个小结,导致这个问题的原因可能是因为克隆下来的项目没有Module(即没有.iml文件)导致idea无法识别,在这先说一下如何解决,之后再做一个分析。步骤如下,就不放图了:file => project structure => Modules => ‘+’ => import modu...转载 2019-04-05 08:38:15 · 2624 阅读 · 0 评论 -
通用Mapper 和RESTful和ROA web框架
很多人都在使用MBG,MBG中定义了很多常用表单方法,产生了通用Mapper通用Mapper可以很简单的让你获取基础单表的方法,也很方便扩展通用方法。使用Mapper可以极大的提高你的工作效率通用mapper就是简单的sql语句把普通的sql语句要写的dao层代码写成了insert 和 update 方法 来更新代码REST是WEB服务的一种架构风格使用HTTP,URI等广泛流行的标准和协...原创 2019-04-06 08:32:54 · 618 阅读 · 0 评论 -
SpringMVC底层代码
这时我们就大致了解了,这个DispatcherServlet初始化的过程了,首先DispatcherServlet持有者一个以自己的Servlet名字命名的Ioc容器,也就是我们看到的WebApplicationContext对象,这个Ioc容器建立起来后,与Web容器相关的各种配置加载也都完成了。并且这个初始化的入口就是由最初的HttpServletBean的init方法触发的,因为这个Http...原创 2019-04-02 08:10:00 · 285 阅读 · 0 评论 -
SpringMVC注解 知识难点总结
6、@requestParam@requestParam主要用于在SpringMVC后台控制层获取参数,类似一种是request.getParameter(“name”),它有三个常用参数:defaultValue = “0”, required = false, value = “isApp”;defaultValue 表示设置默认值,required 铜过boolean设置是否是必须要传入的...原创 2019-04-02 08:14:29 · 666 阅读 · 0 评论 -
Type interface XXXMapper is not known to the MapperRegistry
错误:org.apache.ibatis.binding.BindingException: Type interface com.zzu.ssm.dao.UserMapper is not known to the MapperRegistry.User全路径原创 2019-04-02 08:16:38 · 1625 阅读 · 0 评论 -
SSM 错误总结
web.xml报红错误,只要运行下install就能解决@Service写在ServiceImpl上面原创 2019-04-02 08:17:42 · 505 阅读 · 0 评论 -
MyBatis知识点
一,使用jdbc开发时,和mybatis相比的不足1.数据库连接时,使用时就创建,不使用就释放,造成资源浪费2.使用数据库连接池管理数据库连接二,硬编码不利于sql语句维护把sql放在xml文件中,修改sql不需要重新编译java代码三,预编译设置参数,硬编码,修改sql语句也不需要重新编译把sql语句和占位符设置参数放在xml中四,result遍历结果集硬编码五,sql语句耦合不...原创 2019-04-02 09:02:45 · 506 阅读 · 0 评论 -
线程,多线程,线程池
1.1,并发于并行并发:指两个或者多个事件在同一时刻发生(一起发射一个弓箭)并行:指两个或多个事件在同一个时间段内发生。(这一个小时我一边打游戏,一边看电视)多核处理器:每个CPU并发执行一个任务,多任务并发执行,并行处理程序(了解)1.2,线程与进程进程:是指一个内存中运行的应用程序。(运行中的软件)线程:进程内部的一个独立执行单元。(软件中的小模块)一个进程并发运行多个线程。1....原创 2019-05-24 21:48:39 · 147 阅读 · 0 评论 -
Effective java
一、推荐使用静态工厂替代构造器public static Boolean valueOf(boolean b){ return b ? Boolean.TRUE : Boolean:FALSE;}优点:1.它们有名称2.不必每次调用它们的时候创建一个新的对象3.它们可以返回原返回类型的任何子类型的对象缺点:1.类如果不含公有的或者保护的构造器,就不能被子类化2.它们与其他的...原创 2019-05-24 21:48:58 · 147 阅读 · 0 评论 -
windows连接不上linux中的 Redis
一般可以分为三个原因:第一:bind 127.0.0.1没有注释掉,不能被除了本机以外的ip地址访问第二:protected mode没有设置为 no 保护模式没有关闭第三:防火墙没有关闭防火墙不仅仅是linux中的防火墙,还有windows中的防火墙。linux中的防火墙关闭方法参照:...转载 2019-06-05 20:45:01 · 2280 阅读 · 0 评论