自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Servlet/JSP、Struts1、Struts2以及SpringMVC的线程安全性

Servlet/JSP、Struts1、Struts2以及SpringMVC的线程安全性    一、Servlet/JSP    Servlet/JSP一直都是MVC界的老大哥,我们来回顾一下Servlet的生命周期。    当客户端第一次请求Servlet时,Web容器会根据web.xml中的配置文件创建一个Servlet实例,而后调用init()方法,仅一次(注意);之后每一次请求都会执行Se...

2018-05-29 19:44:06 641

原创 C++中的指针,引用和Java中的对象

    C++中的指针,引用和Java中的对象引用    一、C++中指针和引用的区别    相同点:在c++中,指针和引用都可以让人间接地操作一个对象。    不同点:首先说两者在定义上的区别,指针是存放对象的地址的一块内存,而引用是对象的别名。再看看以下的几行代码:int a,b,*p,&r=a;//正确r=3;//正确:等价于a=3int &rr;//出错:引用必须初始化...

2018-05-26 22:17:14 1065

原创 详解HashMap

详解HashMap    一、数据结构

2018-05-14 15:22:54 135

原创 算法:冒泡算法及优化

算法:冒泡算法及优化    代码如下:public class MaoPao { public static int a[] ={1,2,3,4,5,6,7,8,9}; public static void main(String args[]) { sort(); for (int k: a) { ...

2018-05-08 11:40:17 116

原创 TCP连接的三次握手和连接关闭的四次挥手

TCP连接的三次握手和连接关闭的四次挥手    一、文章大纲图    二、建立TCP连接三次握手过程第一次握手,由客户端发送syn报文给服务器端。第二次握手,服务器端返回ack(确认)+syn报文给客户端。第三次握手,客户端发送ack(确认)报文确认。    三、TCP连接关闭四次挥手过程第一次挥手,由客户端发送FIN报文(Finish)给服务器端。第二次挥手,由服务器端发送ack确认,表示收到报...

2018-05-07 16:50:12 147

原创 BIO、NIO、AIO的区别

BIO、NIO、AIO的区别    一、BIO(同步阻塞IO)    网络编程的模型其实就是C/S模型,即两个进程间的通信。BIO编程则提供最传统的一种IO网络编程方式,优点是API使用简单,易于理解。    BIO的模型是让服务器端提供一个端口号,新建一个ServerSocket套接字对象,客户端可以通过URL和端口号与服务器建立TCP连接,服务器端和客户端通过套接字来通信,在该模型中需要服务器...

2018-05-06 19:45:35 145

原创 ThreadLocal深入浅出

ThreadLocal深入浅出    一、分析ThreadLocal源码    ThreadLocal的核心方法一共就几个,get(),set()等等,我们由get()开始,一边分析其源码,一边揭开ThreadLocal的面纱。    先看看JDK7中的get()源码: public T get() { Thread t = Thread.currentThread(); ...

2018-05-03 18:31:18 135

原创 Java的Lock锁和synchronized关键字的区别及其使用

Java的Lock锁和synchronized关键字的区别及其使用    一、synchronized关键字和Lock的区别以及优缺点    我们可以回顾一下synchronized的使用,synchronized释放锁的时机有以下几种:当执行完代码块中的代码,释放锁;当代码抛出异常,释放锁;当调用锁的wait方法,释放锁;    以上三种情况便可以完全的帮我们解决线程同步的问题,为什么还要引入L...

2018-05-02 18:21:50 1708

原创 并发包下一些并发类

并发包下一些并发类    引言:JDK1.5的并发包不仅仅提供了前文所说的线程池框架,还提供了一系列并发类,来便于我们编写高并发代码,本文我们来一一介绍。    一、CountDownLatch类    代码如下:package com.example.first;import java.util.concurrent.CountDownLatch;import java.util.conc...

2018-05-01 18:24:15 1144

原创 详解线程池

    详解线程池    引言:在最早的时候有写过关于线程池的文章,针对四种不同的线程池,讲解了他们的特性,本文将更加深入,从源码来解释四种不同的线程池框架。    一、线程池的作用以及好处    在JDK1.5以前,线程池的使用是十分简陋的,直到JDK1.5,在并发包下,才出现了现如今的线程池。    线程池的作用是控制线程的数量,因为每一个线程都会占用系统的内存,以及在运行时,会争夺CPU的使...

2018-05-01 15:51:48 142

原创 多线程并发编程的三种设计模式:Future模式,MasterAndWorker模式,生产者消费者模式

    Future模式,核心概念就是将任务异步执行,然后继续做自己主任务,最后需要结果的时候,将异步执行的结果取出。常见的实现就有ajax异步传输,使用异步线程提交数据,不影响主线程,当返回结果的时候再回调给主线程。java中常常会有一些任务十分冗长,可能需要长时间的计算,但是此计算的结果可能并不会被接下来的步骤所依赖,只需要在需要计算结果的时候返回给主线程就行了,这个时候,多线程就起到了作用,...

2018-05-01 12:54:44 279

空空如也

空空如也

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

TA关注的人

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