自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Java多线程(二)Java多线程的阻塞状态与线程控制

Thread.join()让一个线程等待另一个线程完成才继续执行。示例:如A线程线程执行体中调用B线程的join()方法,则A线程被阻塞,知道B线程执行完为止,A才能得以继续执行。Thread.sleep()让当前的正在执行的线程暂停指定的时间,并进入阻塞状态。在其睡眠的时间段内,该线程由于不是处于就绪状态,因此不会得到执行的机会。即使此时系统中没有任何其他可执行的线程,出于sle...

2018-08-31 16:47:03 879

原创 Java多线程(一):基础概念及三种实现方式

多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。 一.线程的生命周期及五种基本状态Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread();就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态。处于就绪状态的线程,只是...

2018-08-28 17:55:51 161

原创 select、poll、epoll区别

1、select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。select本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来...

2018-08-28 15:18:25 145

原创 同步、异步、阻塞、非阻塞、BIO/NIO/AIO/IO复用模型

一、什么是socket?什么是I/O操作?        我们都知道unix(like)世界里,一切皆文件,而文件是什么呢?文件就是一串二进制流而已,不管socket,还是FIFO、管道、终端,对我们来说,一切都是文件,一切都是流。在信息 交换的过程中,我们都是对这些流进行数据的收发操作,简称为I/O操作(input and output),往流中读出数据,系统调用read,写入数据,系统调用...

2018-08-28 14:38:09 362

原创 什么是线程?什么是进程?

一、进程进程是指在系统中正在运行的一个应用程序,程序一旦运行就是进程。进程是系统进行资源分配的独立实体, 且每个进程拥有独立的地址空间。一个进程可以拥有多个线程,每个线程使用其所属进程的栈空间。进程之间的通信进程间通信 IPC(管道,信号量,共享内存,消息队列)。二、线程线程是进程的一个实体,是进程的一条执行路径。线程是CPU独立运行和独立调度的基本单位。...

2018-08-28 11:05:57 11028

原创 springboot Scheduled多线程

springboot单线程定时任务: 1. 在项目启动类上加@EnableScheduling注解只有加了这个注解,才能扫描到@Scheduled注解, 定时器才会起作用@SpringBootApplication@EnableScheduling//允许使用定时器public class SpringbootScheduledApplication { public...

2018-08-27 17:54:01 5341 1

转载 深入理解MyBatis中的一级缓存与二级缓存

这篇文章主要给大家深入的介绍了关于MyBatis中一级缓存与二级缓存的相关资料,文中详细介绍MyBatis中一级缓存与二级缓存的工作原理及使用,对大家具有一定的参考性学习价值,需要的朋友们下面来一起看看吧。 前言先说缓存,合理使用缓存是优化中最常见的,将从数据库中查询出来的数据放入缓存中,下次使用时不必从数据库查询,而是直接从缓存中读取,避免频繁操作数据库,减轻数据库的压力,同时提...

2018-08-21 20:31:03 614

转载 Spring入门及bean配置(XML、注解)

目录一、概述二、bean与spring容器的关系三、bean配置3.1 基于xml配置Bean3.1.1 Bean基本配置3.1.2 依赖注入3.2 使用注解定义Bean3.2.1 使用注解配置信息启动spring容器3.3 基于java类提供Bean定义四、Bean注入4.1 在xml文件中配置依赖注入4.1.1 属性注入4.1.2 构造方法注...

2018-08-07 14:36:49 928

原创 Java : ArrayList 初始化及赋值的两种方式

双括号初始化理解及效率问题参考:双大括号初始化的理解和使用 package com.idark;import java.util.ArrayList;/** * @description: Demo测试 * @author: iDark * @create: 2018/8/3 14:57 * @email: [email protected] */public class...

2018-08-03 15:02:20 67529

原创 Servlet学习:(四)Servlet Filter

一、Filter简介 在客户端的请求访问后端资源之前,拦截这些请求。 在服务器的响应发送回客户端之前,处理这些响应。二、Servlet 过滤器方法过滤器是一个实现了 javax.servlet.Filter 接口的 Java 类。javax.servlet.Filter 接口定义了三个方法:序号 方法 & 描述 1 public void doF...

2018-08-03 14:55:24 182

原创 Servlet学习:(三)Servlet3.0 上传文件

一、注意事项客户端(浏览器)表单的提交方法必须是post 必须有一个文件上传组件 <input type="file" name="file"/> 必须设置表单的enctype="multipart/form-data服务器在Servelt上添加注解  @MultipartConfig二、参考HttpServletRequest 对文件上传的支持此前...

2018-08-03 11:57:58 4489 2

转载 Servlet学习:(二)Servlet3.0 新特性 ,Annotation

新增的注解支持Servlet 3.0 的部署描述文件 web.xml 的顶层标签 <web-app> 有一个 metadata-complete 属性,该属性指定当前的部署描述文件是否是完全的。如果设置为 true,则容器在部署时将只依赖部署描述文件,忽略所有的注解(同时也会跳过 web-fragment.xml 的扫描,亦即禁用可插性支持,具体请看后文关于 可插性支持的讲解);如...

2018-08-02 18:18:54 196

转载 【转】JAVA EE 6 规范综述

目录1.JAVA EE规范综述2.JAVA EE整体架构3.JAVA EE规范的角色划分图4.JAVA EE平台依赖的J2SE API5.JAVA EE平台的版本变迁6.JAVA EE平台的趋势预测7.基于Oracle官网的关于的JAVA EE规范内容的划分方式a.webservice相关规范b.web容器相关规范c.ejb容器相关规范d.管理和安全相关...

2018-08-02 17:22:42 466

原创 Servlet学习:(一)使用IDEA手动编写一个Servlet

目录1、新建项目2、填写项目名称(MyFirstServlet)3、项目创建成功后的目录初始结构4、配置(1)在WEB-INFO目录下创建classes和lib目录(2)打开Project Structure(默认快捷键Ctrl+Alt+Shift+S  或者 File 菜单 -> Project Structure...),配置compiler output(3...

2018-08-02 16:06:32 2958 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除