![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
日常总结
文章平均质量分 84
三笠·阿卡曼
日拱一卒无有尽,功不唐捐终入海。
展开
-
【函数式编程】Optional接口
在编写代码的时候遇到最多的就是空指针异常,在很多情况下都要进行很多的非空判断;尤其是对象中的属性还是一个对象的情况下,这种判断会更多。JDK8中引入了Optional,使用Optional可以用更优雅的代码避免空指针异常;原创 2022-09-19 22:19:22 · 409 阅读 · 1 评论 -
【函数式编程】Java函数式编程学习
Java8的Steam使用的是函数式编程模式,如他名字一样,它可以用来对集合或数字进行链状流式操作,可以更加方便的对集合或者数组进行操作;原创 2022-09-04 16:11:25 · 245 阅读 · 0 评论 -
SpringSecurity学习(一)
认证和授权认证解决“我是谁的问题”什么是认证?授权解决“我能做什么”的问题Filer和FilterChainSpring Filters任何Spring Web应用本质上只是一个Servlet;Security Filter在Http请求到达Controller之前过滤每一个传入的Http请求;Filter Chain常见的内建过滤器过滤器名称作用BasicAuthenticationFilter如果在请求中找到一个Basic Auth Http头,如原创 2022-05-28 21:35:18 · 263 阅读 · 0 评论 -
Java面试整理(五)框架
框架知识考点SpringIOC的应用Spring IOC支持的功能依赖注入依赖检查自动装配支持集合指定初始化方法和销毁方法支持回调方法SpringIOC的核心接口BeanFactory:Spring框架最核心的接口,相当于汽车发动机;提供IOC的配置机制;包含Bean的各种定义,便于实例化Bean;建立Bean之间的依赖关系;Bean生命周期的控制ApplicationContext,相当于包含发动机在内的轮胎,底盘等构成车的基本组件继承BeanFactory原创 2021-03-08 22:35:30 · 81 阅读 · 0 评论 -
Java面试整理(四)IO机制
IO机制分类BIO(阻塞IO)Block-IO: InputStream和OutputStream,Read和Writer;NIO(非阻塞IO)NonBlock-IO: 构建多路复用的、同步非阻塞的IO操作;NIO的核心ChannelsFileChannelDatagramChannelSokcetChannelServerSocketChannelBuffersByteBufferCharBufferDoubleBufferFloatBufferIntBuffer原创 2021-03-07 20:45:59 · 85 阅读 · 0 评论 -
Java面试整理(三)线程
进程和线程的区别进程是资源分配的基本单位,线程是CPU调度的最小单位;所有与进程相关的资源,会被记录在PCB中;进程是抢占处理机的调度单位;线程属于某个进程,共享其资源;线程只由堆栈寄存器、程序计数器和TCB组成;总结:进程可看做独立应用,而线程不能被看作独立应用;进程有独立的地址空间,相互之间不影响,线程只是进程的不同执行路径;多进程的程序比多线程要健壮,线程没有独立的地址空间;进程的切换比线程的切换开销大;Java进程和线程的关系Java对操作系统提供进行封装,包括原创 2021-03-02 23:47:12 · 91 阅读 · 0 评论 -
Java基础面试题整理(二)-- JVM
Java平台无关性如何实现Java源码首先被编译成字节码,再由不同平台的JVM进行解析,Java语言在不同的平台 上运行的时候不需要进行重新编译,Java虚拟机在执行字节码的时候,把字节码转换成具体平台上的机器指令。为什么JVM不直接将源码解析成机器码去执行准备工作:每次执行都需要各种检查;兼容性:可以将别的语言解析成字节码;JVM如何加载class文件ClassLoader:依照特定格式,加载class文件到内存;Execution Engine:对命令进行解析;Native I原创 2021-02-28 22:56:20 · 160 阅读 · 2 评论 -
Java基础面试题整理(一)
讲一下Java的几个特性**抽象:**就是将现实生活中的某一类东西提取出来,通常称为类或方法。抽象出来的代码包括两方面:一个是数据抽象,一个是过程抽象。数据抽象也就是对象的属性,过程抽象是对象的行为特征。封装: 通过代码将抽象事物封装成抽象的类,并且类可以把自己的数据和方法只让其他可信的类或者对象操作,对不可信的进行封装隐藏。封装可以分为属性的封装和方法的封装。继承: 是对有着共同特性的多类事物,再抽象成一个类。这个类就是多类事物的父类,父类的意义在于抽取多类事物的共性;多态: 允许不同类的对象对原创 2021-02-27 19:59:45 · 188 阅读 · 1 评论 -
20180302JS的深入学习:函数的深入用法、函数的参数、JS内置对象、动态时钟及验证表单的练习、JS原型链的简单了解
一、函数的深入用法1.将函数赋给一个变量: 2.将函数赋给对象的属性3.将函数作为参数传递给另一个函数(高阶函数)该方式的作用能够实现JS的动态调用函数,在调用highFunc()函数时,只需改变函数参数F即可实现该方法的动态调用一个其他函数。4.将函数作为返回值注意:外层函数的返回值是整个内层函数,不是内层函数的返回值,对于一个外层函数outer(),内层函数的返回值只有一个,且不会因...原创 2018-03-06 20:20:50 · 246 阅读 · 0 评论 -
20171223:Object的两个方法、多态性、抽象类与接口的学习
一、Object类1.Object类中的toString()方法是打印引用的地址,如System.out.println(stu);打印的便是stu引用的地址,其实是默认调了stu对象父类Object方法的toString()方法;若在Student类中重写了toString()方法,便会自动调用本类中的toString()方法。2.equals()方法Object类中的equals(原创 2017-12-23 23:07:51 · 202 阅读 · 0 评论 -
20180227:关于HTML中table标签中合并单元格时遇到的问题
今天在初次学习HTML的时候,便在table标签的使用上遇到了个问题,就是在合并单元格时发现单元格的合并显示之后并没有按自己所想的那样显示,具体问题也描述不出来,通过代码和实例来记录一下这个烦人的问题吧。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title原创 2018-02-27 22:06:20 · 9251 阅读 · 0 评论 -
20180228:CSS浮动元素与清除浮动的一点理解
今天学习了CSS的一些内容,整体较为简单,在学习浮动的时候我刚开始由于不是很理解,在理解上出现了一些问题,现在对CSS浮动再进行一些讨论与研究。CSS的浮动属性: float: left/right;设置了float属性的元素即为浮动元素,浮动元素脱离了正常的文档流(标准流),不遵循"从左到右、从上到下、遇块换行"的标准文档的排布方式。这里举的例子为div的例子,div本身就是一个块级元素,在排列...原创 2018-02-28 21:49:33 · 311 阅读 · 0 评论 -
20180318:三种Servlet监听器、过滤器的学习
一、三种监听器1.在WEB中可以对application、session、request三种操作进行监听Servlet监听器分为三种: 1).ServletContext监听器(容器监听器); 2).HttpSession监听器(会话监听器); 3).ServletRequest(请求监听器)2.Servlet监听器的配置方式方式一:在监听器类上进行注解配置:@WebListen...原创 2018-03-18 23:00:05 · 427 阅读 · 0 评论 -
20180312:Servlet简介与体系结构、实现方式、配置方式、生命周期、转发与重定向、JSP的相关内容
一、Servlet简介与体系结构 Servlet是使用Java语言编写的服务器端程序。Servlet主要运行在服务器端,s并由服务器调用。 Servlet是单实例的,所以应该尽量少使用全局变量。Servlet运行流程如下图所示:简单说下我对Servlet运行流程的理解:首先客户端向服务器(通过url)发送请求,请求成功后,Web插件会处理并判断客户端的请求,如果是静态请...原创 2018-03-13 22:02:14 · 175 阅读 · 0 评论 -
20180331:Oracle中的视图(view)、索引(index)、约束(constraint)、序列(sequence)
一、视图视图是一个虚拟表,他由存储的查询构成,可以将它的输出看作是一个表,视图同真的表一样,也可以包含一系列带有名称的列和行数据。但是,视图并不在数据库中存储数据值,其数据值来自定义视图的查询语句所引用的表,数据库只在数据字典中存储视图的定义信息。 通过视图修改数据时,实际上就是在修改基本表中的数据。与之对应,改变基本表中的数据也会反映到该表组成的视图中。创建视图create [...原创 2018-04-03 11:39:16 · 662 阅读 · 0 评论 -
利用Bootstrap写一个Bootstrap官网;利用VUE实现TODOLIST
一、Bootstrap写官网<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">原创 2018-04-10 21:04:48 · 1324 阅读 · 0 评论 -
20180419:Todolist的Mybatis的实现
页面代码:<!DOCTYPE html><html lang="en"><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>看似简单啊</title> &原创 2018-04-19 20:52:29 · 129 阅读 · 0 评论 -
JAVA反射机制
JAVA反射机制1.反射:反射就是把JAVA类中的各个成分映射成一个个的java对象。例如,一个类有:成员变量、普通方法、构造方法、包等信息,利用反射技术可以对一个类进行解剖,把各个组成部分映射成一个个对象。2.反射机制:主要是指程序可以访问、检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。在java中,只要给原创 2018-01-29 22:39:37 · 247 阅读 · 0 评论 -
利用UDP协议进行的Socket编程
UDP网络编程1.UDP是面向无连接的数据传输、不可靠的,但传输效率高(传输音频啊、视频啊....)2.UDP一次发送的数据不能超过64KB3.UDP编程所需要的类: 3.1 DatagramSocket:此类表示用来发送和接收数据报包的套接字,即用此类来实现数据的发送和传输 3.2 DatagramPacket:此类表示数据报包,用此类将要发送的数据加以封装,再用原创 2018-01-29 20:55:02 · 432 阅读 · 0 评论 -
20171209:面向对象:类和对象,方法的重载
类和对象的理解,方法的重载原创 2017-12-11 18:12:35 · 346 阅读 · 0 评论 -
20171203:数组拷贝、三种重要排序(冒泡、插入、快排)、二维数组的学习
一、数组的拷贝(数组拷贝的方法十分简单,Lsit集合在实现它时用到了这个所以得知道这个)方法:System.arraycopy(参数);参数有:源数组,源数组的起始位置,目标数组,目标数组的起始位置,复制的元素个数,运行一下:package 数组拷贝;import java.util.Arrays;public class ArrayCopy { public s原创 2017-12-05 20:01:45 · 528 阅读 · 0 评论 -
20171202:方法和数组的学习
关于byte、int、short的一些问题今天在了解一些基础时,对于基本类型的某些方面我还是有些缺漏,在byte、int、short类型的变量参与运算时会出现一些转型上的问题。如下程序:这三种类型的变量在参与算术运算时编译器会自动将这些变量提升为int类型的数据,结果也为int类型的数据,因此会出现错误,解决方法就是将他们的结果进行强制转型。注:若是byte/int/short原创 2017-12-02 22:27:08 · 194 阅读 · 0 评论 -
20171230:常用类、正则表达式(还得深挖)、枚举类型
一、常用类1.Math类(工具类,工具类的方法都是静态方法,拿类直接调即可)Math类提供了基本数学运算和几何函数的方法,Math类是final类,并且他的所有成员变量和成员方法都是静态的。 1.1 属性:static final double PI;(圆周率) 1.2 静态方法:double random():返回带正号的double值,介于[0,1)之间int ceil原创 2017-12-31 20:49:36 · 538 阅读 · 0 评论 -
20180123: 作业1利用线程模拟文件的下载、作业2序列化与反序列化
1.使用线程将某个目录下的文件复制到另一个目录下,在复制的过程中要显示出完成进度(eg:5%,10%。。。),要求由客户端决定源文件和目标文件。package ThreadCopy;import java.io.*;public class ThreadCopy extends Thread{ private File srcFile; private File destFil原创 2018-01-24 14:12:13 · 212 阅读 · 0 评论 -
20171231:集合的框架、List集合及其实现类、迭代器的使用、Set集合的一部分内容
引入集合的目的:在使用数组存储元素时必须确定数组的长度,即数组存储元素的个数是固定的,这在实际运用时有十分大的局限性,因此引入集合可以结局这个问题。集合的概念:JAVA API所提供的一系列类的实例,可以用于动态存放多个对象。集合类位于java.util包中,特点: 长度不固定,只能存储引用类型的对象集合的大致框架其中Collection接口存储一组不唯一的对象;L原创 2018-01-16 21:45:41 · 279 阅读 · 0 评论 -
20171224:总结下包装类、String类及其相关类、内部类
一、包装类Java语言是一种面向对象的语言,但对于基本数据类型却不是面向对象的,为了解决这个不足,在设计类时把每一中基本数据类型都设计了与之对应的引用数据类型(包装类),注:包装类都位于java.lang包下的对应关系如表基本数据类型包装类intIntegerCharCharactershortShortbyteBytelongLongfloatFloatdoubleDoublebooleanBo原创 2017-12-24 22:07:16 · 155 阅读 · 0 评论 -
20170106:Comparator接口的使用、Map集合、异常
接着上次的总结的说:一、Comparator接口的使用1.使用Comparable接口定义的排序顺序有局限性:实现此接口的类只能按compareTo(xxx)方法定义的这一种排序。2.如果同一类对象要有多种排序方式,应该为该类定义不同的比较器(实现Comparator接口的类),TreeSet有一个构造方法允许给定比较器,他就会根据给定的比较器对元素进行排序;即实现TreeSet的一个有参构造,参原创 2018-01-17 23:23:52 · 214 阅读 · 0 评论 -
20170118:File类与IO流,File类,IO流的基本原理,IO流的分类,文件字节流与文件字符流
一、File类1.java.io.File类代表系统文件(文件和目录) 访问文件属性步骤 1). 创建文件对象:File file = new File(String pathname); 2). 调用方法:操作文件或目录的属性(路径、权限、日期和时间); File类就是用来操作文件或目录,将文件和目录作为对象进行操作。2.File类的属性 seperator默认名称分割符:在linux系原创 2018-01-18 22:45:02 · 339 阅读 · 0 评论 -
20180125:通过实现Runnable接口创建线程、多线程安全与同步问题、使用synchronized关键字实现同步、死锁问题、Lock实现同步
一、通过实现Runnable接口创建线程 1. 定义实现Runnable接口的类 Runnable接口中有一个run()方法;用来定义线程运行体,定义自己的线程类实现Runnable接口并重写run()方法;在测试类中创建线程类实例的时候将这个类的实例传递到线程实例内部,然后再启动;接下来举一个实现Runnable类的线程类来看一下这个东西。 实现Runnable类:原创 2018-01-27 16:14:10 · 659 阅读 · 0 评论 -
20180126:通过Callable实现多线程、生产者-消费者问题、多线程下载(复制)文件
一、通过Callable实现多线程 1.Callable接口介绍java.util.concurrent.Callable是一个泛型类接口,其中只有一个call()方法,call()方法会抛出Exception异常,且返回一个指定的泛型类对象:public V call(); 2.使用Callable接口实现多线程的步骤 1. 创建Cal原创 2018-01-27 22:16:55 · 492 阅读 · 0 评论 -
20180128:计算机网络介绍、TCP/IP协议、Socket的介绍
一、计算机网络介绍 1.计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备、通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。2. 计算机网络分类 虽然网络类型的划分标准各种各样,但是从地理范围划分是一种大家都认可的通用网络划分标准,按这种标准可以把各种网络类型划分为局域网、城域网、广域网三种原创 2018-01-28 22:56:46 · 274 阅读 · 0 评论 -
20170203:MySQL的学习第一天:对MySQL的初步学习,主要是一些简单的增、删、改、查的学习
MySQL的第一天学习一、MySQL简介在DOS下操作MySQLMySQL是一种中型的关系型数据库管理系统(DBMS,Database Management System)。 注意:关系型数据库是按照表的方式存储数据的。二、DOS环境下操作MySQL通过DOS操作MySQL的常用命令1.进入MySQL环境: mysql -h MySQL服务器 -u 用户名 -p2.显示所原创 2018-02-01 23:13:17 · 336 阅读 · 0 评论 -
20170204:数据库建模、JDBC操作数据库的初步学习
JDBC操作数据的初步学习JDBC的基本概念1.JDBC(Java DataBase Connection,java数据库连接),由一些接口和类构成的API。JAVA应用程序–>JDBC API–>JDBC驱动程序–>数据库JDBC操作数据库的步骤1.注册驱动(只做一次) 2.建立连接(Connection) 3.创建执行SQL的语句(Statement) 4.执原创 2018-02-04 22:59:41 · 174 阅读 · 0 评论 -
20180119:缓冲流、转换流、标准输入输出流
今天重点学习了解了缓冲流和转换流的内容,标准输入输出流并不复杂,较为容易理解一、缓冲流 缓冲流是处理流的一种,建立在相应的节点流之上,对读写的数据提供了缓冲的功能,作用就是为了提高读写的效率,由于普通的输入流在读取文件时效率较低,建立自定义的缓冲区也造成了内存的浪费;同时,程序通过输出流向文件中写入内容时也有一定的局限性,缓冲流其实就是对他们进行再次包装(体现了装饰者设计模式),从而大大提原创 2018-01-20 21:31:54 · 390 阅读 · 0 评论 -
20171210:this关键字、static关键字、封装、super关键字、四种访问权限、方法的重写
this关键字、static关键字、封装、super关键字、四种访问权限、方法的重写原创 2017-12-11 19:25:17 · 202 阅读 · 0 评论