![](https://img-blog.csdnimg.cn/20210717003340117.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA Basics
文章平均质量分 69
javaEE, javaWeb等java基础
松鼠MaSaKi
Occam's Razor
展开
-
Java的优先队列:PriorityQueue
Java的优先队列:PriorityQueue说明:PriorityQueue算法原理就是通过完全二叉树(complete binary tree)实现的小顶堆(任意一个非叶子节点的权值,都不大于其左右子节点的权值)代码案例:/** * 测试Java的优先队列 PriorityQueue * add()和offer()方法,前者在插入失败时抛出异常,后则则会返回false * element()和peek()方法,都是获取但不删除队首元素,当方法失败时前者抛出异常,后者返回null,时间复杂度是原创 2021-10-29 21:54:18 · 266 阅读 · 0 评论 -
JDK8的Optional特性
Optional相关方法的使用原创 2021-07-18 01:51:38 · 298 阅读 · 1 评论 -
JAVA基础中的基础
计算机基础+二进制+java基础原创 2019-08-24 23:41:59 · 288 阅读 · 0 评论 -
Bootstrap的使用
1.bootstrap概述2.bootstrap的各标签、表单、表格、按钮等的使用3.bootstrap小米注册页面的设计应用4.bootstrap模态框和标签页的使用原创 2019-09-09 19:29:16 · 619 阅读 · 0 评论 -
web之监听器listener
1.监听器的基本使用2.案例:在线人数案例,访问人数案例和session管理器原创 2019-09-08 18:45:56 · 278 阅读 · 0 评论 -
Web之过滤器Filter
过滤器的使用,比如自动登录,脏话过滤,图片缓存,防盗链、文件压缩以及编码问题原创 2019-09-07 19:57:35 · 465 阅读 · 1 评论 -
HTML之Javascript——DOM文档对象模型
一、DOM概述通过 HTML DOM,使用 JavaScript访问 HTML 文档的所有元素,完成相关的增删改查。当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。HTML DOM 模型被构造为对象的树通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。JavaScript 能够改变页面中的所有 HTML ...原创 2019-08-22 08:55:27 · 332 阅读 · 0 评论 -
Servlet的使用——重定向和转发
路径设置、重定向和转发原创 2019-08-31 20:52:18 · 192 阅读 · 0 评论 -
HTML之JavaScript
一、JavaScript概述JavaScript(LiveScript)一种【解释性脚本语言】,是一种动态类型、弱类型、基于原型继承的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。完整的JavaScript实现包含三个部分:ECMAScript...原创 2019-08-21 21:38:00 · 247 阅读 · 0 评论 -
JSON和AJAX
1.Json的使用以及ajax的使用2.IDEA配置Json插件原创 2019-09-07 20:52:35 · 172 阅读 · 0 评论 -
HTML之Javascript——BOM浏览器对象模型
浏览器对象模型 (BOM):(Browser Object Model)尚无正式标准。一、window窗口操作所有浏览器都支持 window 对象。它表示浏览器窗口。所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。全局变量是 window 对象的属性。全局函数是 window 对象的方法。甚至 HTML DOM 的 document 也是 win...原创 2019-08-23 19:59:21 · 251 阅读 · 0 评论 -
jQuery
jQuery的使用和语法规则,包括ajax请求原创 2019-09-08 19:49:38 · 539 阅读 · 0 评论 -
Web的状态管理——Cookie和session技术的使用
状态管理的概述,以及cookie和session的概述和使用方法原创 2019-09-02 20:06:09 · 193 阅读 · 0 评论 -
Validate的使用
Validate插件的使用,可以用来判断表单格式原创 2019-09-08 20:43:51 · 5992 阅读 · 1 评论 -
HTML之标签
HTML概述各种标签Frameset框架应用ifram框架的应用原创 2019-08-22 08:54:51 · 337 阅读 · 0 评论 -
Servlet的具体使用方式以及http协议
主要介绍Servlet的基本创建和配置方法,以及http协议的相关知识,后面还有激活码工具原创 2019-08-30 20:45:34 · 1066 阅读 · 0 评论 -
HTML之表单
定义form 表单,前端发送数据到后台的一种方式,用于:登陆注册,数据传输。属性1. action提交数据的位置,值为服务器的地址,把表单的数据提交到该地址上处理。2. method : 请求方式get 【适用于 select】不安全传输效率略高,效率略高数据传输有大小限制,一般都在2kb以内通过URL传递数据,任何人都可以看到你请求的内容post 【适用于 update...原创 2019-08-20 09:18:23 · 112 阅读 · 0 评论 -
MVC模式概述
一、MVC模式简介1.1 MVC概念首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种设计模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),即为MVC。它是一种软件设计的典范,最早为Trygve Reenskaug提出,为施乐帕罗奥多研究中心(Xerox PARC)的Smalltalk语言发明的一种软件...原创 2019-09-04 10:20:04 · 1076 阅读 · 0 评论 -
HTML之CSS层叠样式表
一、CSS层叠样式表概述CSS :层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。多个样式可以层层覆盖叠加,如果不同的css样式对同一个html标签进行修饰,样式有冲突的,应用优先...原创 2019-08-20 22:03:29 · 3411 阅读 · 0 评论 -
servlet的使用——response和request
response和request的使用方法,图片的预览和下载,以及通过内省机制进行数据的获取,后面还有validatecode.jar验证码jar包原创 2019-08-31 22:00:34 · 407 阅读 · 0 评论 -
web开发之BaseServlet的使用
BaseServlet的原理和使用原创 2019-09-10 22:57:05 · 400 阅读 · 0 评论 -
JSP技术的使用——好像过时了唉。。。。。
JSP技术的基础使用,比如语法和规则等等,包含八个内置对象 和 四个域对象的使用,并介绍了EL语法和JSTL的使用。【重点】提供了四种域对象的范围以及使用原则。原创 2019-09-03 14:09:48 · 4004 阅读 · 2 评论 -
HTML之淘宝界面案例
特殊符号<<br/> <!--<小于号-->><br/> <!-->大于号-->&<br/> <!--&与-->®<br /> <!--®已注册商标-->©<br /> <!--...原创 2019-08-21 13:13:45 · 13191 阅读 · 1 评论 -
ServletContext对象的使用
ServletContext对象的使用方式,共享信息的使用方式原创 2019-09-02 20:59:13 · 87 阅读 · 0 评论 -
NIO概述及Buffer的基本使用
NIO概述java.nio全称Java non-blocking IO或Java New IO,是从jdk1.4 开始引入的一套新的IO api(New IO) ,为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供同步非阻塞式的高伸缩性网络。NIO核心组成部分:Buffer:缓冲区Channel:通道Selector:选择器(轮询器)NIO和IO的...原创 2019-08-15 17:12:42 · 305 阅读 · 0 评论 -
Channel基本使用——FileChannel类和内存映射的使用
Channel基本上,所有的 IO 在NIO 中都从一个Channel 开始。Channel 有点象流。 数据可以从Channel读到Buffer中,也可以从Buffer 写到Channel中。这里有个图示:JAVA NIO中的一些主要Channel的实现:FileChannelDatagramChannelSocketChannelServerSocketChannel其中后...原创 2019-08-15 21:24:31 · 1340 阅读 · 0 评论 -
基于TCP的网络编程——实现简单登录注册程序
使用TCP网络编程可以实现简单的登录注册程序【多线程】登录和注册分别是两个线程,使用端口号区别开,在服务器端口,两个线程都开启,等待客户端的接入;而客户端,可以根据需求选择登录函数还是注册函数。这里使用Properties集合类,将用户信息保存到本地,方便调取。//注册线程public class RegThread extends Thread{ private Propert...原创 2019-08-15 13:33:30 · 3565 阅读 · 0 评论 -
基于UDP的网络编程
概念User Datagram Protocol的简称,用户数据报协议,提供面向事务的简单不可靠信息传送服务。特点将数据封装成一个数据包,面向无连接. 如同广播站 和 收音机的关系每一个数据包大小限制在64kb以内因为面向无连接,不可靠, 会丢包因为面向无连接,所以传输 速度特别快!!!UDP不区分客户端和服务器,只有发送端和接收端网络游戏/网络直播均采用UDP协议、相关方法...原创 2019-08-15 15:08:37 · 356 阅读 · 0 评论 -
网络编程基础
一、计算机网络所谓计算机网络,就是把分布在不同区域的计算机与专门的外部设备用通信线路相互连接成一个规模大,而且功能强的网络系统,从而使得计算机之间可以相互传递信息,共享数据、软件等资源。网络分类 :按照地理范围:广域网( Internet) ,城域网( 一个城市、多个城市,长城宽带),局域网(机房) 。二、网络编程指的就是在同一个网络中不同机器之间的通信,而网站或者网页编程,是基于HTML...原创 2019-08-13 22:36:59 · 103 阅读 · 0 评论 -
Selector和非阻塞网络编程
ServerSocketChannel 和 SocketChannel传统的网络编程,比如TCP的 socket.accept() 方法和UDP的 receive(packet) 方法都是具有阻塞功能的,所以属于同步阻塞网络编程。ServerSocketChannel、SocketChannel可以实现非阻塞式网络编程。ServerSocketChannel是一个基于通道的socket监听器...原创 2019-08-16 19:04:36 · 220 阅读 · 0 评论 -
基于TCP的网络编程——简单聊天程序
使用TCP网络编程可以实现简单的群聊程序【多线程】通过《基于TCP的网络编程——基本使用》中的案例演示会发现,如果互相通信,客户端和服务器端的【处理数据】部分完全一致,所以完全可以封装一个线程类,将该过程抽出,服务器可以循环监听,处理接入的多个客户端线程。...原创 2019-08-15 11:01:28 · 1571 阅读 · 1 评论 -
基于TCP的网络编程——基本使用
获取IP地址方法一、InetAddress类//获取本机地址,静态方法static InetAddress getLocalHost();InetAddress inet = InetAddress.getLocalHost();//获取此IP地址的主机名String getHostName();String name = InetAddress.getLocalHost().ge...原创 2019-08-14 21:13:19 · 329 阅读 · 0 评论 -
线程间通信——生产者和消费者模式
消费者和生产者模式是用来描述一个仓库(缓冲区),生产者可以将产品放入到仓库中,消费者可以从仓库中买走商品,解决生产者和消费者的生活逻辑问题,需要采用代码的同步机制来完成相互的【约束】和【提醒】。注意事项【商品是唯一共享资源】消费者购买商品,清空商品的库存,要【提醒】生产者生产,并且消费者停止购买生产者生产商品,填满商品的库存,要【提醒】消费者购买(到货通知),并且生产者是要停止生产操作...原创 2019-08-14 15:26:54 · 280 阅读 · 0 评论 -
线程的同步——Synchronized和ReentrantLock
多线程访问产生的临界资源问题有多个线程在同时访问一个资源,如果一个线程在取值的过程中,时间片又被其他线程抢走了,临界资源问题就产生了。比如在《多线程——基础使用》中的存钱和取钱的案例,当存钱加和操作执行完毕,还没有执行打印操作的时候,取钱线程进入,并将钱取走,先一步打印,这样的输出结果就会有问题:余额为0,但是取走了1000。解决方案:一个线程在访问临界资源的时候,给这个资源“上一把锁”,这...原创 2019-08-11 23:26:13 · 128 阅读 · 0 评论 -
线程同步——读写锁
当没有锁的时候,多个线程会出现共抢临界资源的情况,导致一方还未读取输出,另一方抢先修改了结果,从而使得输出结果不正确。但是,多个线程访问,如果仅仅是【读】操作,并不会对结果产生影响,而【写】操作则会使运行结果出现错误。ReadWriteLock接口:可以实现多个读线程同时读取数据,写线程需要互斥执行,提高效率。【读 / 写 、写 / 写】需要互斥,【读 / 读】不需要互斥相关方法/**...原创 2019-08-13 08:19:49 · 100 阅读 · 0 评论 -
JUC基本使用——volatile、原子问题、CAS算法和Lock接口
JUC概述在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类,用于定义类似于线程的自定义子系统,包括线程池,异步IO和轻量级任务框架;还提供了用于多线程上下文中的 Collection实现等。在并发编程中有三个特性(也是需要解决的三个主要问题):互斥性(原子性)内存可见性指令重排序一、volatile修...原创 2019-08-16 23:02:14 · 180 阅读 · 0 评论 -
多线程——线程池和计时器Timer的基本使用
有非常的多的任务需要多线程来完成,且每个线程执行时间不会太长,这样会频繁的创建和销毁线程。频繁创建和销毁线程会比较耗性能。如果有了线程池就不要创建更多的线程来完成任务,因为线程可以重用。线程池用维护者一个队列,队列中保存着处于等待(空闲)状态的线程。不用每次都创建新的线程。和线程池相关的接口和类存在java.util.concurrent并发包中。接口:Executor:线程池的核心接...原创 2019-08-13 19:37:09 · 1510 阅读 · 0 评论 -
多线程——基础使用
一、进程(Process)与线程(Thread)1、进程(process)进程是一个独立的程序,要占用系统的资源 (CPU 内存),具有以下特点:独立性:不同的进程之间是相互独立,使用的资源或者说数据是不共享的动态性:进程在系统中运行是一个动态的,是随着系统一起运作的并发性:多个进程(程序)可以同时在电脑中运行,互不影响2、线程(Thread)线程是进程(程序)的组成部分,一个进...原创 2019-08-11 22:14:01 · 124 阅读 · 0 评论 -
文件字节流 和 字符流的使用——基本使用
文件的字节流和字符流是比较基础而常用的流处理类,文章将具体介绍相关的构造方法和普通方法的使用原创 2019-08-11 13:53:28 · 518 阅读 · 2 评论 -
标准输入输出流的使用——基本使用
Java的标准输入/输出分别通过System.in和System.out实现,默认情况下分别代表是键盘和显示器(统称为控制台)。主要是控制台和内存之间的交互。System.in和System.out,同内存的关系InputStream(输入)//System.in的源码,可以看到是一种静态变量,返回值是InputStream类型,由控制台(键盘)到内存为输入//Java操作控制台必须要...原创 2019-08-11 16:12:42 · 443 阅读 · 0 评论