Java
文章平均质量分 87
陌路_一步一步往上爬
行百里者半九十
累丸二而不坠,则失者锱铢;
累三而不坠,则失者十一;
累五而不坠,犹掇之也。
展开
-
Content-Type与Spring获取请求参数的二三事
Content-Type1 含义http/https发送信息至服务器时的内容编码类型,也称为互联网媒体类型MediaType。Content-Type用于表明发送数据流的类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据。2 常见媒体类型以text开头text/html : HTML格式text/plain :纯文本格式text/xml : XML格式image/gif :gif图片格式image/jpeg :jpg图片格式image/png:png图片格式以原创 2021-12-27 15:23:58 · 1210 阅读 · 0 评论 -
多线程系列-从学会创建多线程开始
多线程4 多线程常见场景客户端(移动端App端)开发异步发送短信/邮件执行比较耗时的代码改用多线程异步执行,提高接口的响应速度异步写入日志(日志框架底层)多线程下载5 多线程的创建方式5.1 继承Thread类/** * @ClassName ThreadDemo * @Description 继承Thread * @Author Fclever * @Date 2021/12/16 11:12 **/public class ThreadDemo extends Thre原创 2021-12-26 22:23:24 · 577 阅读 · 0 评论 -
多线程系列-多get一点的预备知识
多线程1 基础知识1.1 CPUCPU的中文名称是中央处理器,是进行逻辑运算用的,主要由运算器、控制器、寄存器三部分组成,从字面意思看就是运算就是起着运算的作用,控制器就是负责发出cpu每条指令所需要的信息,寄存器就是保存运算或者指令的一些临时文件,这样可以保证更高的速度。也就是我们的线程运行在cpu之上。1.2 CPU调度时间片单核的cpu上每次只能够执行一次线程,如果在单核的cpu上开启了多线程,则会发生对每个线程轮流执行,底层执行并不是真正意义上的多线程。Cpu每次单个计算的时间成为原创 2021-12-26 22:22:15 · 472 阅读 · 0 评论 -
Java:注解知识温顾
注解1.1 什么是注解注解用来给类声明附加额外信息,可以标注在类、字段、方法上面,编译器、JVM以及代码中可以通过反射获取注解信息,进行做处理比如控制层主要方法添加的日志注解,可以通过日志注解中获取信息,然后保存记录日志数据,方便代码的调试1.2 常用注解@Override标注在子类重写的父类方法之上,具有提示作用@Deprecated标注该类或者方法已过时,在后续版本中会被遗弃,具有提示作用@SuppressWarning(“unchecked”)标注在编译器检测到原创 2021-12-19 15:42:29 · 374 阅读 · 0 评论 -
Java:反射机制温顾
反射1.1 反射定义Oracle官方对反射的解释:Reflection enables Java code to discover information about the fields, methods and constructors of loaded classes, and to use reflected fields, methods, and constructors to operate on their underlying counterparts, within secu原创 2021-12-19 15:41:20 · 359 阅读 · 0 评论 -
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
问题描述:使用Eclipse进行Web开发的时候,可能会出现这种错误:The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path.导致这个问题的原因其实是没有引入服务器所运行时需要的library解决方案:2.1 选中项目,右键选择2.2 切换到Libraries菜单下,选择Ad...原创 2019-12-23 16:58:36 · 190 阅读 · 0 评论 -
Neither BindingResult nor plain target object for bean name 'command' available as request attribute
问题引入 我在jsp页面中使用了SpringMvc提供的表单标签,然后再访问该页面的时候出现了如下的错误问题分析 根据报错信息,大概可以看出是说一个名称为"command"的bean的属性在request的域对象中不存在,这让我很纳闷,我根本就没有用到过"command"名称的属性,为啥会有这个...原创 2020-01-01 15:32:54 · 1149 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/ConditionalTagSu
报错信息解决方式(这里有三种,大家根据自己情况来选用)普通的JavaWeb项目,添加以下jar包jstl-1.2.jarstandard.jar如果上面这个方式不可用,再额外添加以下两个jar包jstl-api-1.2.jarjstl-impl-1.2.jar如果是Maven工程,直接添加以下依赖即可<dependency> <gro...原创 2020-01-01 14:41:58 · 1351 阅读 · 4 评论 -
SpringMvc框架(熟悉基本开发流程)
...原创 2020-07-04 12:41:20 · 1576 阅读 · 0 评论 -
Java数据库学习:SQL语言(一)
目录,更新ing,学习Java的点滴记录 目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录前言本篇内容基于Oracle数据库的内容,其中Sql语言的编写运行都在基于Oracle数据库,所以小伙伴如果需要的话,可以先了解这一篇一丶SQL语言基础1 什么是SQL结构化查询语言(Structured Query Language)简称 SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名(.sq原创 2020-06-21 19:05:50 · 1754 阅读 · 0 评论 -
Java数据库学习:Oracle数据库
目录,更新ing,学习Java的点滴记录 目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录数据库相关概念1 什么是数据库所谓的数据库其实就是数据的集合。用户可以对集合中的数据进行新增、查询、更新、删除等操作。数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。如果拿生活中的例子来类比一下的话,比如手机中我们拍摄的照片会存储在相册中,电脑中接收到的学习的文档一般也都会归类放在某个文件夹下面…提到的相册,文件夹都可以原创 2020-06-19 15:08:27 · 715 阅读 · 0 评论 -
Java进阶知识学习:Xml技术
目录,更新ing,学习Java的点滴记录 目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录Xml概念和体系Xml基本语法Schema技术介绍DOM方式解析Xml数据SAX方式解析Xml数据JDOM解析Xml数据DOM4J解析XML数据XPath技术快速获取节点...原创 2020-06-18 17:07:23 · 306 阅读 · 0 评论 -
Java进阶知识学习:网络编程
目录,更新ing,学习Java的点滴记录 目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录一丶网络编程入门1. 软件结构C/S结构:全称为Client/Server结构,是指客户端和服务器结构,常见的程序有QQ,网盘等软件 B/S结构:全称为Browser/Server结构,是指浏览器和服务器结构,常见浏览器有谷歌,火狐等 两种架构各有优势,但是无论哪种架构,都离不开网络的支持,网络编程,就是在一定的协议下,实现两台计算机的通信的程序.2.网络通信协原创 2020-06-17 12:15:42 · 1191 阅读 · 1 评论 -
Java进阶知识学习:注解
目录,更新ing,学习Java的点滴记录 目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录注解介绍注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据注解在一定程度上是在把元数据与源代码文件结合在一起,而不是保存在外部文档中这一趋势所催生的.同时,注解也是对来自向C#之类的其他原因对Java造成的语言特性压力所作出的一个回应,熟悉该语言的小伙伴会知道C#中对于方法进行覆盖的时候,必须使用overrid原创 2020-06-15 14:39:53 · 282 阅读 · 0 评论 -
Java进阶知识学习:多线程并发
目录,更新ing,学习Java的点滴记录 目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录并发引入更新到这里之前,目录中提到的内容都属于顺序编程的内容,即程序中的所有事物在任意时刻都只能执行一个步骤我们很熟悉操作系统中的多任务:在同一时刻运行多个程序的能力,比如网页上看文章的时候听着音乐,看视频的时候同时下载着文件等等.操作系统将CPU的时间片分配给每一个进程,让人有一种并行处理的感觉编程中很大一部分都可以使用顺序编程来解决,但是仍存在着某些问题,当使用并行执原创 2020-06-15 09:30:22 · 404 阅读 · 0 评论 -
Java进阶知识学习:I/O流详细总结
目录,更新ing,学习Java的点滴记录 目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录IO流引入对于程序语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项非常艰难的任务现有的大量不同方案已经说明了这一点,如果你是一个使用Java时间比较长的Coder,就能感觉到I/O系统涵盖了很多方面,如各种I/O源端和与之通信的接收端(文件,控制台,网络连接等),而且还需要以多种不同的方式与它们进行通信(顺序,随机存取,缓冲,二进制,按字符,按行,按字等等)原创 2020-06-12 17:50:53 · 505 阅读 · 0 评论 -
IDEA中为类生成序列化号
修改IDEA设置&esmp;创建一个类,然后鼠标移动到类名上,按alt+回车就可以看到了原创 2020-06-12 17:28:49 · 584 阅读 · 0 评论 -
Java进阶知识学习:反射
目录,更新ing,学习Java的点滴记录 目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录引入-Java为啥可以被称为半动态语言动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化.比如常见的JavaScript就是动态语言,除此之外Ruby,Python等也属于动态语言,而C,C++则不属于动态语言.从反射角度来说,Java属于半动态语言反射的概念反射库提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵J原创 2020-06-11 20:07:19 · 2834 阅读 · 9 评论 -
Java进阶知识学习:泛型
目录,更新ing,学习Java的点滴记录 目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录为什么要使用泛型一般的类和方法,只能使用具体的类型:要么是基本类型要么是自定义类.如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大在面向对象编程语言中,多态算是一种泛化机制.例如,你可以将方法的形参类型设为基类,那么该方法就可以接受从这个基类导入的任何类作为参数.这样的方法更加通用,应用场合也比较多.在类的内部也是如此,凡是需要说明类型的地方,如果都使原创 2020-06-11 14:42:42 · 1638 阅读 · 0 评论 -
HashMap装填因子为啥默认0.75?
在Java中,散列表用链表数组实现.每个列表被称为桶.(见下图).要想查找表中对象的位置,就要先计算它的散列码,然后与桶的总数取余,所得到的结果就是保存这个元素的桶的索引.例如,如果某个对象的散列码为76268.并且有128个桶,对象应该保存在第108号桶中(76268除以128余108).或许会很幸运,在这个桶中没有其他元素,此时将元素直接插入桶中就可以了.当然,有时候会遇到桶被占满的情况,这也是不可避免的.这种现象被称为散列冲突.这时,需要用新对象与桶中的所有对象进行比较,查看这个对象是否已经存在.如.原创 2020-06-10 20:50:17 · 2136 阅读 · 0 评论 -
Java进阶知识学习:集合
目录,更新ing,学习Java的点滴记录 目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录基本概念_Collection_Set_List接口介绍List接口ArrayList用法详解ArrayList_JDK源码分析LinkedList的特点_链表_JDK源码分析Vector用法和ArrayList区别...原创 2020-06-10 11:25:53 · 533 阅读 · 0 评论 -
Java进阶知识学习:常用类
目录,更新ing,学习Java的点滴记录 目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录包装类_包装类基本用法包装类_Number类包装类_自动装箱和拆箱包装类_包装类的缓存问题字符串相关类_String类字符串相关类_StringBuilder类和StringBuffer类字符串相关类_不可变字符序列使用陷阱字符串相关类_程序运行的效率测试方法时间处理相关类_java.util.Date类时间处理相关类_DateFormat和SimpleDate原创 2020-06-09 21:55:20 · 433 阅读 · 0 评论 -
Java全方面知识学习:学习路径|目录
目录,更新ing,学习Java的点滴记录Stage1------Stage1思维导图 Chapter1:Java入门和背景知识 Chapter2:JDK下载安装与第一个Java程序 Chapter3:进制|注释|标识符 Chapter4:变量 Chapter5:基本数据类型 Chapter6:操作符(运算符) Chapter7:类型转换与键盘输入 Chapter8:IDEA的使用和第一个Java项目 Chapter9:三种控制语句(顺序,选择,循环) Chapter10:break|原创 2020-06-09 12:44:37 · 2345 阅读 · 2 评论 -
Java进阶知识学习:异常详细总结
目录,更新ing,学习Java的点滴记录 目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录异常引入介绍Java的基本理念是"结构不佳的代码不能运行"在理想状态下,用户输入的数据的格式永远都是正确的,选择打开的文件也一定存在,并且永远不会出现bug.但是现实世界中却充满了不良的数据和带有问题的代码.发现错误的理想时机是在编译阶段,也就是在你试图运行程序之前.然而,编译期间并不能找出所有的错误,余下的问题必须在运行期间解决.这就需要错误源能通过某种方式,把适当的信原创 2020-06-09 12:44:18 · 278 阅读 · 0 评论 -
Java基础知识学习:数组
目录,更新ing,学习Java的点滴记录Stage1 Chapter1:Java入门和背景知识 Chapter2:JDK下载安装与第一个Java程序 Chapter3:进制|注释|标识符 Chapter4:变量 Chapter5:基本数据类型 Chapter6:操作符(运算符) Chapter7:类型转换与键盘输入 Chapter8:IDEA的使用和第一个Java项目 Chapter9:三种控制语句(顺序,选择,循环) Chapter10:break|continue|return关原创 2020-06-08 17:25:04 · 242 阅读 · 0 评论 -
Java基础知识学习:内部类
目录,更新ing,学习Java的点滴记录Stage1 Chapter1:Java入门和背景知识 Chapter2:JDK下载安装与第一个Java程序 Chapter3:进制|注释|标识符 Chapter4:变量 Chapter5:基本数据类型 Chapter6:操作符(运算符) Chapter7:类型转换与键盘输入 Chapter8:IDEA的使用和第一个Java项目 Chapter9:三种控制语句(顺序,选择,循环) Chapter10:break|continue|return关原创 2020-06-08 11:06:02 · 521 阅读 · 0 评论 -
Java基础知识学习:面向对象--封装
封装_含义和作用封装是面向对象三大特征之一。对于程序合理的封装让外部调用更加方便,更加利于写作。同时,对于实现者来说也更加容易修正和改版代码。看电视,只需要按一下开关和换台就可以了。有必要了解电视机内部的结构吗?有 必要碰碰显像管吗?制造厂家为了方便我们使用电视,把复杂的内部细节全部封装起来,只 给我们暴露简单的接口,比如:电源开关。具体内部是怎么实现的,我们不需要操心。需要让用户知道的才暴露出来,不需要让用户知道的全部隐藏起来,这就是封装。说的 专业一点,封装就是把对象的属性和操原创 2020-06-07 22:56:52 · 472 阅读 · 0 评论 -
Java基础知识学习:面向对象--继承
面向对象三大特征面向对象编程的三大特征:继承、封装、多态继承_概念和实现继承是所有OOP语言和Java语言不可缺少的组成部分.当创建一个类时,总是在继承,因为,除非已明确支出要从其他类中继承,否则就是在隐式地从Java的标准根类Object进行继承.继承是面向对象编程的三大特征之一,它让我们更加容易实现对于已有类的扩展、更加 容易实现对于现实世界的建模。主要作用: 1.代码复用,更加容易实现类的扩展 2.方便建模从英文字面意思理解,extends关键字 的意思是“扩展”。子类是父类原创 2020-06-07 22:56:36 · 340 阅读 · 0 评论 -
Java基础学习:抽象类和接口
抽象类和接口_抽象类和抽象方法抽象类是普通的类与接口之间的一种中庸之道,尽管你可能在构建某些未实现方法的类是,第一想法可能是创建接口,但是抽象类仍旧是用于此目的的一种重要而必须的工具,因为你不可能总是使用纯接口.如果自下而上仰视类的继承层次结构,那么位于上层的类更加具有通用性,甚至可能更加抽象.从某种程度上来看,祖先类更加通用,我们只将它作为派生其他类的基类,而不像作为特定的实例类.例如,考虑一下对Employee类层次的扩展,一个雇员是一个人,一个学生学时一个人.下面将类Person和类Studen原创 2020-06-07 22:56:16 · 5167 阅读 · 0 评论 -
Java基础知识学习:Object类详解
Object类_基本特性附Object类的结构视图 Object类是Java中所有类的最终祖先,在Java中,每个类都是由它扩展而来的,但是并不需要这样写 class Employee extends Object,因为如果在没有明确指出父类的时候,Object就被认为是这个类的最终父类.在Java中,只有基本类型的值不是对象,而所有的数组类型等都扩展于Object类型Object类_toString()方法作用:用于返回表示对象值的字符串 根据如上源码得知,默认会返回“类名+@+16原创 2020-06-07 22:56:01 · 670 阅读 · 1 评论 -
Java基础知识学习:访问控制_package_import
访问权限控制_包package访问控制(或隐藏具体实现)与"最初实现的并不恰当"有关背景介绍(了解) 编写软件的程序员,都清楚其著作的某些部分直至重新创作的时候才变得完美,有时甚至要反复写很多次.如果你把一个代码放在了某个位置,等过一会再看时,就有可能发现有更好的方式去实现相同的功能. 但这种修改和完善代码的愿景下,存在巨大的压力.通常总是会有一些消费者需要你的代码在某些方面保持不变,因此你想改变代码但是他们却想让代码保持不变,由此而产生了在面向对象设计中需要考虑的一个基本问题:“如何把变动的事物原创 2020-06-07 22:55:51 · 245 阅读 · 0 评论 -
Java基础知识学习:static关键字
static关键字_内存分析静态变量和静态方法通常来说,当创建类是,就是在描述类的对对象的外观与行为.除非用new创建那个类的对象,否则,实际上并未获得任何对象那个.执行new来创建对象时,数据存储空间才被分配,其方法才供外界调用但是有两种情况是上述方式无法解决的,一种是,只想为某特定域分配单一存储空间,而不去考虑究竟要创建多少对象,甚至根本就不创建对象.另一种情形是,希望某个方法不与包含它的类的任何对象关联在一起,换句话说,即使没有创建对象,也能够调用这个方法static关键字可以满足这两方面的需原创 2020-06-07 22:55:42 · 293 阅读 · 0 评论 -
Java基础知识学习:垃圾回收机制
垃圾回收机制原理介绍 程序员都了解初始化的重要性,但常常会忘记同样也重要的清理工作.但在使用程序库的时候,把一个对象用完就"弃之不顾"的做法并非总是安全的.当然Java有垃圾回收器负责回收无用对象占据的内存资源.Java 程序员可以将更多的精力放到业务逻辑上而不是内存管理工作上,大大的提高了开发效率。内存管理 Java 的内存管理很大程度指的就是:堆中对象的管理,其中包括对象空间的分配和释放。 对象空间的分配:使用 new 关键字创建对象即可 对象空间的释放:将对象赋值 null 即可。垃圾原创 2020-06-07 22:55:32 · 245 阅读 · 0 评论 -
Java基础知识学习:JVM内存模型及分析
JVM(Java虚拟机)内存模型JVM(Java虚拟机)内存模型 各部分介绍 从属于线程的内存区域(栈、计数器) JVM 的内存划分中,有部分区域是线程私有的,有部分是属于整个 JVM 进程;我们将这部分归为一类。 1)程序计数器(Program Counter Register),在 JVM 规范中,每个线程都有自己的程序计数器。这是一块比较小的内存空间,存储当前线程正在执行的 Java 方法的 JVM 指令地址,即字节码的行号。如果正在执行 Native 方法,则这个计数器为空。原创 2020-06-07 22:44:33 · 412 阅读 · 0 评论 -
Java基础知识学习:类与构造器
类和对象的概念类可以看做是一个模版,或者图纸,系统根据类的定义来造出对象。我们要造一个汽车,怎么样造?类就是这个图纸,规定了汽车的详细信息,然后根据图纸将汽车造出来。类:我们叫做 class。对象:我们叫做 Object instance(实例)。以后我们说某个类的对象,某个类的实例。是一样的意思。总结 类可以看成一类对象的模板,对象可以看成该类的一个具体实例 类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法类的定义_属性和方法属性(成员变量)原创 2020-06-07 22:43:28 · 550 阅读 · 0 评论 -
Java基础知识学习:初步理解面向对象
数据表结构理解面向对象以职工表为例 上面这个职工表,可以将公司所有员工信息“结构化”、“标准化”,让管理者可以方 便的进行统计和管理 我们也经常将表中的“列”,叫做“字段”,英文中统一叫做“field”。显然,field 定义了表的结构。我们可以通过增加新的 field(列),让表中所有的行增加数据: 面向对象编程中,类对应表的结构(表的 field),我们可以定义出“职工类” 通过上图,可以看到,职工类和职工表的结构完全一样。只不过,职工类增加了数据的类型而已表格的动作和类的方法原创 2020-06-07 22:41:53 · 268 阅读 · 0 评论 -
Java基础知识学习:break|continue|return关键字
break和continue语句介绍 在任何迭代语句的主体部分,都可用break和continue控制循环的流程. break用于强行退出循环,不执行循环中剩余语句. continue则停止当前的迭代,然后退回循环起始处,开始下一次迭代break和continue案例 说明:在这个for循环中,i的值永远不会到达100,因为一旦到达74,break语句就会中断循环.只要i不能被9整除,continue语句就会使执行过程返回到循环的最开始(这会是i值递增).如果能整除,将显示值goto_标原创 2020-06-07 22:38:49 · 290 阅读 · 0 评论 -
Java基础知识学习:三种控制语句(顺序,选择,循环)
控制语句介绍**就像有知觉的生物一样,程序必须在执行过程中控制它的世界,并作出选择.在Java中,要使用控制语句来做出选择.**Java使用了C的所有流程控制语句,涉及的关键字有if-else,while,do-while,for,return,break以及选择语句switch,然而Java并不支持goto语句.true和false 所有条件语句都利用条件表达式的真或加来决定执行路径.但是Java不允许将一个数字作为布尔值使用,比如C和C++中"真"是非零,"假"是零.分类:顺序结构,选择结构原创 2020-06-07 22:37:14 · 1359 阅读 · 0 评论 -
Java基础知识学习:类型转换与键盘输入
类型转换类型转换(cast)原意是"模型铸造".在适当的时候,Java会将一种数据类型自动转换成另一种.比如,假设我们为某浮点变量赋予一个整数值,编译器会将int自动转换成float.类型转换运算允许我们显式地进行这种类型转换,或者在不能自动进行转换的时候强制进行类型转换分类:自动类型转换和强制类型转换自动类型转换 自动类型转换指的是将容量小的数据类型可以自动转换为容量大的数据类型.下图中实线表示无数据丢失的自动类型转换,虚线表示在转换时可能有精度的损失 可以将整型常量直接赋值给byt原创 2020-06-07 22:33:15 · 331 阅读 · 0 评论 -
Java基础知识学习:基本数据类型
基本数据类型介绍Java 是一种强类型语言,每个变量都必须声明其数据类型。 Java 的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)数据类型图 引用数据类型的大小统一为4个字节,记录的是其引用对象的地址整型整型用于表示没有小数部分的数值,它允许是负数。整型的范围与运行 Java 代码的机器无关,这正是 Java 程序具有很强移植能力的原因之一。与此相反,C 和 C++程序需要针对不同的处理器选择最有效原创 2020-06-07 22:31:36 · 868 阅读 · 0 评论