岁月无痕的博客

越努力、越幸福

排序:
默认
按更新时间
按访问量

CentOS7使用firewalld打开关闭防火墙与端口

转自:https://www.cnblogs.com/moxiaoan/p/5683743.html 1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status...

2018-10-18 21:58:28

阅读数:99

评论数:0

Java 多线程分段下载原理分析和实现

多线程下载介绍  多线程下载技术是很常见的一种下载方案,这种方式充分利用了多线程的优势,在同一时间段内通过多个线程发起下载请求,将需要下载的数据分割成多个部分,每一个线程只负责下载其中一个部分,然后将下载后的数据组装成完整的数据文件,这样便大大加快了下载效率。常见的下载器,迅雷,QQ旋风等都采用了...

2017-07-14 13:27:32

阅读数:1119

评论数:0

三、Java内存模型---重排序和顺序一致性

3.2 重排序 重排序是指编译器和处理器为了优化程序性能而对指令序列进行重新排序的一种手段。 3.2.1 数据依赖性 如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间 就存在数据依赖性。数据依赖分为下列3种类型,如表3-4所示。 上面3种情况,只要重排...

2017-06-15 14:12:31

阅读数:284

评论数:0

三、Java内存模型---Java内存模型的基础

3.1 Java内存模型的基础 3.1.1 并发编程模型的两个关键问题 并发编程中,有两大关键问题:线程之间如何通信和线程之间如何同步。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 在共享内存的并发模型里,线程之间共享程序的公共状态,通...

2017-06-15 13:31:24

阅读数:208

评论数:0

二、Java并发机制的底层实现原理

Java代码编译后变成java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,java中所使用的并发机制依赖于JVM的实现和CPU的执行。2.1 volatile的应用 在多线程并发编程中,synchronized和volatile都扮演重要的角...

2017-06-07 14:45:20

阅读数:532

评论数:0

一、并发编程的挑战

Java并发编程的目的是为了让程序运行的更快,但不是启动更多的线程就能让程序最大限度的执行,因为在并发编程中,启动更多的线程,会面临上下文切换、死锁、以及所使用的软件和硬件的资源限制等问题。 1.1上下文切换 单核处理器下,多线程执行代码,cpu给每个线程分配cpu时间片来实现多线程,cpu不...

2017-06-07 11:26:52

阅读数:167

评论数:0

Java三种移位运算符

java中有三种移位运算符1、<< : 左移运算符,value<< num,相当于value乘以2的num次方 方法:丢掉最高位移动的位数,最低移动的位数补0,若num大于value转为二进制后的最大位数n,则取模num%n例如:9 <<2 9—int类型...

2017-06-06 11:52:33

阅读数:284

评论数:0

Java HashMap的死循环

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的HashMap是非线程安全的,所以在并发下必然...

2017-06-05 18:02:28

阅读数:137

评论数:0

Java并发编程:Thread类的使用

今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态、上下文切换,然后接着介绍Thread类中的方法的具体使用。  以下是本文的目录大纲:  一.线程的状态  二.上下文切换  三.Thread类中的方法一.线程的状态  在正式学习Thread类中的具体...

2017-06-05 16:54:02

阅读数:159

评论数:0

LinkedHashMap源码剖析

前言:有网友建议分析下LinkedHashMap的源码,于是花了一晚上时间研究了下,分享出此文(这个系列的最后一篇博文了),希望大家相互学习。LinkedHashMap的源码理解起来也不难(当然,要建立在对HashMap源码有较好理解的基础上)。LinkedHashMap简介LinkedHashM...

2017-06-02 12:46:27

阅读数:179

评论数:0

简单选择排序 java实现

简单选择排序基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。代码实现如下public class SimpleSelectSort { public static void m...

2017-06-01 10:48:23

阅读数:287

评论数:0

希尔排序 java实现

希尔排序属于插入排序的一种,也称为缩小增量法,是插入排序的一种改进版本,其基本思想是,先取一个小于n的整数i1作为第一个增量,所有距离为a的记录放在同一组,把数组的全部记录分成了a组子序列,再对各组子序列进行直接插入排序,然后,取第二个增量i2作为第二个增量,重复分组和排序,直到最后一个增量为1时...

2017-05-26 11:00:10

阅读数:232

评论数:0

HttpServletRequest常用的方法

1、假设客户端地址是: http://user.cbice.com/cbice/BoardAction.do?operation=doSearch&index=index&boardIndex=boardIndex 通过request对象得到客户端url方法如下: 1、reque...

2017-05-25 16:10:32

阅读数:1563

评论数:0

HTTP消息中header头部信息的讲解

HTTP消息中header头部信息的讲解 本文导读:HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:...

2017-05-25 15:31:40

阅读数:973

评论数:0

直接插入排序 java实现

直接插入排序的算法思路是: 基于给定的一个数组,初始时假设第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按照记录的大小依次将当前处理的记录插入到其之前的有序序列中,直至最后一个记录插入到有序序列中为止。package demo;public class InsertSor...

2017-05-25 14:34:49

阅读数:232

评论数:0

request.getRequestURI()、getRequestURL()、getContextPath()、getServletPath()区别

request.getRequestURI() 、request.getRequestURL() 、request.getContextPath()、request.getServletPath()区别request.getRequestURI() /jqueryWeb/resources/req...

2017-05-25 09:46:14

阅读数:253

评论数:0

几种常用的设计模式介绍

几种常用的设计模式介绍 1.设计模式的起源 最早提出“设计模式”概念的是建筑设计大师亚力山大Alexander。在1970年他的《建筑的永恒之道》里描述了投计模式的发现,因为它已经存在了千百年之久,而现代才被通过大量的研究而被发现。 在《建筑的永恒之道》里这样描述:模式是一条由三个部分组成的...

2017-05-03 00:16:08

阅读数:417

评论数:0

单例模式的八种写法

单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。一般介绍单例模式的书籍都会提到 饿汉式 和 懒汉式 这两种实现方式。但是除了这两种方式,本文还会介绍其他几种实现单例的方式,让我们来一起看看吧。简介单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。...

2017-05-02 23:58:18

阅读数:145

评论数:0

用Java对JSON字符串进行格式化输出

工作中进行http相关接口测试时经常会收到返回的json数据,因为没有格式化输入到控制台后看起来很不直观。早上写了一个小工具类,对这JSON串进行格式化输出,代替System.out.print/** * 格式化输入工具类 * * @author lizhgb * @date 2015-...

2017-05-01 20:06:36

阅读数:5009

评论数:1

Java如何从HttpServletRequest中读取HTTP请求的body

注意:下面方法已验证通过。HTTP请求中的是字符串数据://字符串读取void charReader(HttpServletRequest request) {BufferedReader br = request.getReader();String str, wholeStr = "...

2017-05-01 12:38:53

阅读数:1532

评论数:0

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