【一、后端Java开发如何科学地参与需求分析评审、产品原型评审、前后端接口设计、表细节设计?】教程文章相关的互联网学习教程文章

关于java同步包中ConcurrentLinkedQueue类的深入分析与理解【代码】

一,官方描述 一个基于连接节点的无界线程安全队列。这个队列的顺序是先进先出。队列头部的元素是留在队列中时间最长的,队列尾部的元素是留在队列中时间最短的。新元素被插入到元素的尾部,队列从队列的头部检索元素。当许多线程共享访问同一个集合时,这个类是不二选择。这个队列不允许有null元素。 这个实现基于一种被描述为简单,快速,实用的非阻塞和阻塞公布队列算法而提供的一种有效的空闲等待算法。 注意,不像大...

JAVAScript中DOM与BOM的差异分析【代码】【图】

JAVAScript 有三部分构成,ECMAScript,DOM和BOM,根据浏览器的不同,具体的表现形式也不尽相同。我们今天来谈一谈DOM和BOM这俩者之间的差异。用百科上的来说:1. DOM是 W3C 的标准; [所有浏览器公共遵守的标准]2. BOM 是 各个浏览器厂商根据 DOM在各自浏览器上的实现;[表现为不同浏览器定义有差别,实现方式不同]3. window 是 BOM 对象,而非 js 对象;DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。BOM 主要处理浏览...

Java NIO原理图文分析及代码实现【图】

Java NIO原理图文分析及代码实现 前言: 最近在分析hadoop的RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以参考:http://baike.baidu.com/view/32726.htm )机制时,发现hadoop的RPC机制的实现主要用到了两个技术:动态代理(动态代理可以参考博客:http://weixiaolu.iteye.com/blog/1477774 )和java NIO。为了能够正确地分析hadoop的...

Java底层类和源码分析系列-LinkedList底层架构和源码分析【代码】

几个要点LinkedList的底层数据结构是双向链表;LinkedList继承于AbstractSequentialList的双向链表,实现List接口,因此也可以对其进行队列操作,它也实现了Deque接口,所以LinkedList也可当做双端队列使用;LinkedList是非同步的;和 ArrayList 一样,LinkedList 也支持空值和重复值;LinkedList 存储元素的节点需要额外的空间存储前驱和后继的引用;LinkedList 在链表头部和尾部插入效率比较高,但在指定位置进行插入时,效率一般...

深入分析Java Web技术(2) IO【图】

IO是当今Web面临的主要问题之一,可以说,大部分web应用的瓶颈都是IO的瓶颈。Java的IO类是java.io.它包含有80多个类,分为4大部分:基于字节操作: InputStream,OutputStream基于字符操作: Writer 和Reader基于磁盘操作: File基于网络操作: Socket 一、基于字符的IO操作不管是网络传输还是磁盘,最小的存储单元都是字节,而不是字符,那为什么还有字符的处理呢?这是因为我们程序中操作的单位一般都是字符,而不是字节,而将字符...

JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法

今天在程序中出现一个bugger ,调试了好久,最后才发现,原来是这个问题。做了一个实验:alert(parseInt("01")),当这个里面的值为01====》07时都是正常的,但是在"08","09"就会返回0(这种现象出现在ie内核的浏览器中,如360浏览器就会出现这种错误)(谷歌,火狐不受影响)。查阅资料得知着这种现象原因:大神的解释:01--07自然没有问题,但是09,08都是不合格的八进制形式,所以被按照0处理了。为了解决这个问题,可以利用parseInt函...

Java学习升阶 -02-单例模式设计分析【代码】【图】

单例模式定义 单例模式(Singleton),也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。单例模式的作用许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为方便管理,也使系统资源占用率大大降低,也可以提高公共资源载入速度。应用场景比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进...

深入分析JavaWeb Item32 -- 数据库连接池【代码】【图】

一、应用程序直接获取数据库连接的缺点  用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、拓机。如下图所示:二、使用数据库连接池优化程序性能2.1、数据库连接池的基本概念  数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序...

Java类的加载和对象创建流程的详细分析【代码】

相信我们在面试Java的时候总会有一些公司要做笔试题目的,而Java类的加载和对象创建流程的知识点也是常见的题目之一。接下来通过实例详细的分析一下:package com.test;public class Parent { int a = 10; static int b =11; //静态代码块 static { System.out.println("parent静态代码块:b=" + b); b++; } //代码块 { System.out.println("Parent代码块:a=" + a); System.out...

Java源码分析——String的设计【代码】【图】

Tip:笔者马上毕业了,准备开始Java的进阶学习计划。于是打算先从String类的源码分析入手,作为后面学习的案例。这篇文章寄托着今后进阶系列产出的愿望,希望能坚持下去,不忘初心,让自己保持那份对技术的热爱。因为学习分析源码,所以借鉴了HollisChuang成神之路的大部分内容,并在此基础上对源码进行了学习,在此感谢。问题的引入关于String字符串,对于Java开发者而言,这无疑是一个非常熟悉的类。也正是因为经常使用,其内部代...

java性能分析 - CPU飙高分析工具【代码】

背景有处理过生产问题的同学基本都能遇到系统忽然缓慢,CPU突然飙升,甚至整个应用请求不可用。当出现这种情况下,在不影响数据准确性的前提下,我们应该尽快导出jstack和内存信息,然后重启系统,尽快回复系统的可用性,避免用户体验过差。本文针对CPU飙升问题,提供该问题的排查思路,从而能够快速定位到某线程甚至某快代码导致CPU飙升,从而提供处理该问题的思路。排查过程通过top命令查看cpu飙升的java进程pid通过ps -mp [pid]...

深入分析JavaWeb Item25 -- 自定义标签开发案例和打包自定义标签库【代码】【图】

一、开发标签库案例1.1、开发防盗链标签  1、编写标签处理器类:RefererTag.javapackage me.gacl.web.simpletag;import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.jsp.JspException; import javax.servlet.jsp.PageContext; import javax.servlet.jsp.SkipPageException; import javax.servlet.jsp.tagext.SimpleTagSupport;/*...

Java常见集合之ArrayList深入分析【代码】【图】

Java常见集合之ArrayList深入分析一、继承树二、ArrayList源码分析2.1 继承结构和层次关系2.2 源码分析: 1/* 2继承自AbstractList,实现了List、RandomAccess、Cloneable、Serializable接口3 1)RandomAccess接口:用来快速随机存取,在实现了该接口后,用普通for来遍历,性能更高4 2)Cloneable接口:实现了该接口,就可以使用Object.Clone()方法了5 3)Serializable接口:实现了该接口,表明该类可以被序列化6*/ 7...

深入分析 Java 中的中文编码问题

几种常见的编码格式为什么要编码不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言。由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— byte 来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解。我们可以把计算机能够理解的语言假定为英语,其它语...

spark JavaDirectKafkaWordCount 例子分析【代码】

spark JavaDirectKafkaWordCount 例子分析:1、KafkaUtils.createDirectStream( jssc, String.class, String.class, StringDecoder.class, StringDecoder.class, kafkaParams, topicsSet );后面参数意思: 源码是这样 @param ssc StreamingContext object * @param kafkaParams Kafka <a href="http://kafka.apache.org/documentation.html#configuration"> * configurat...