- 博客(13)
- 资源 (17)
- 问答 (2)
- 收藏
- 关注
原创 深入理解系列之JAVA多线程(1)——概念与原理机制
现代操作系统都支持多任务的处理,所以为了提高JAVA程序运行的效率,JAVA在虚拟机层面采用了多线程机制,即“同时”运行多个逻辑代码!问题一、线程和进程的区别是什么?在操作系统层面,我们听到最多的就是“进程”的概念,即在日常操作系统使用中,我们认为每个软件就是一个进程,线程被称作“轻量级的进程“,我们通常用以下三句话(或表达同类意思的语句)来阐述他们之间的关系:1)、进程是...
2018-04-30 17:44:19 529
原创 深入理解系列之JAVA多态机制(重载/重写)
多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态(来自百度百科)。所以,按照这个意思其实多态的“主题”是对象,但是实际在我们运用中我们常把“重载”和“重写”称之为“多态”其实这是不严谨的!重载和重写只是多态的存在带来的两种应用表现形式,也就是说正是因为重载和重写我们才看到了多态的“威力”。所以,当我们谈论多态实现机制的时候其实就...
2018-04-25 16:21:49 546
原创 NIO入门实例-写一个客户端/服务器例程
注:该文章实际为《java网络编程》例11-1和例11-2的源码勘误!原例程经过实际测试并不能实现期望的功能,在分析代码逻辑后勘误如下!在勘误之前贴出书中原始例程(仅服务器有误):package org.nioTest;import sun.rmi.runtime.Log;import java.io.IOException;import java.net.InetSocke...
2018-04-23 23:07:41 521
原创 深入理解系列之JAVA泛型机制
泛型是指在声明(类,方法,属性)的时候采用一个“标志符”来代替,而只有在调用的时候才传入真正的类型,我们最常见的泛型实例就是前面讲述的集合类,集合类在声明的时候都是通过泛型方式来声明的,只有在调用(实例化)时我们才确定传入的是Integer亦或是String等等!注:本文着重叙述泛型实现的原理,而忽略一些泛型应用时的注意事项,详细应用时的注意事项请参看其他博文问题一、为什么要采...
2018-04-20 11:47:26 445
原创 WebRTC自适应控制算法
该文章系总结性文章,主要参考一下文章: 1、webrtc视频jitterbuffer原理机制(描述版) - 简书 http://www.jianshu.com/p/bd10d60cebcd 2、WebRTC视频接收缓冲区基于KalmanFilter的延迟模型 - 简书 http://www.jianshu.com/p/bb34995c549a 3、WebRTC基于GCC的拥塞控制(上) ...
2018-04-19 11:31:25 2034
原创 通过python抓取博客信息
最近写博客,忽然想知道自己的博客阅读量的趋势都是怎么样的,无奈CSDN并不提供这个功能。本来是想偶尔的手动查看,记录到excel表格中然后一段时间后就能知道大概了,但是作为程序员能够交个程序自动执行的就不要采用这种原始的办法了,上网一搜果然有和我一样“无聊的”想做这个统计的,再加上最近学习python,所以就决定写个python爬虫脚本来抓取这些信息!(无奈python水平太弱,对于python中...
2018-04-19 11:07:18 460 1
原创 深入理解系列之JAVA数据结构(5)——String
String类型是Java编程中最为常见的数据结构(没有之一),与之相关联的还有StringBuilder和StringBuffer。其中String类型是不可变的;后者均是可变的字符串,但是StringBuilder是线程不安全的,StringBuffer线程安全;所以三者的效率排名为:StringBuilder>String>StringBuffer。另外,为了优化字符串的使...
2018-04-17 21:04:21 5698 5
原创 深入理解系列之JAVA反射机制
反射是指,程序运行期间,对于任意一个类,都能够知道这个类的所有属性和方法,且都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。问题一、反射机制的理论基础是什么?如前言所属,基本每个java程序员都知道反射的概念和作用,但是为什么java可以支持反射?为什么C/C++就没有呢?其实,java之所以能够实现反射其根本的理论基...
2018-04-17 09:54:00 483
原创 深入理解系列之JAVA动态代理机制
代理的作用,就是生成代理对象使得真实对象的某些方法执行被代理对象拦截,从而在真实方法执行前、执行后添加额外的“动作”!动态代理则是指不需要修改原来的对象方法,在程序运行的过程中动态的生成代理对象,从而动态的生成这些“额外的”动作,主要从两个方面来深入理解动态代理机制!问题一、动态代理的基本实现是什么?动态代理本质上还是java中的“代理设计模式”,所以启UML图如下所示 ...
2018-04-15 22:12:28 707
原创 深入理解系列之JAVA数据结构(4)——Hashtable
1、Hashtable和HashMap,从存储结构和实现来讲基本上都是相同的, Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类,但二者都实现了Map接口。 2、它和HashMap的最大的不同是它是线程安全的,另外它不允许key和value为null。 3、Hashtable是个过时的集合类,不建议在新代码中使用,不需要线程安全...
2018-04-07 13:00:23 356
原创 深入理解系列之JAVA数据结构(3)——HashMap
1、 HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null键。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable大致相同) 2、此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 3、 值得注意的是HashMap不是线程安全的,如果想要线程安全的HashMap,可以通过Collectio...
2018-04-06 23:46:01 530
原创 深入理解系列之JAVA数据结构(2)——LinkedList
1、LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。 2、LinkedList相对于ArrayList来说,是可以快速添加,删除元素,ArrayList添加删除元素的话需移动数组元素,可能还需要考虑到扩容数组长度。 3、 LinkedList 实现 List 接口,能对它进行队列操作。 Link...
2018-04-06 17:00:50 256
原创 深入理解系列之JAVA数据结构(1)——ArrayList
1、 ArrayList是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。提供了相关的添加、删除、修改、遍历等功能。 2、ArrayList实现了RandmoAccess接口,即提供了随机访问功能。在ArrayList中,我们即可以通过元素的序号快速获取元素对象,这就是快速随机访问。ArrayList实现了Cloneable接口,即覆盖了函数clone(),能...
2018-04-06 15:49:41 460
JAVA网络编程第四版中文
2018-04-23
图解TCP/IP 第五版
2018-03-08
Crosswalk+Cordova开发安卓app-JavaScript调用java 源代码下载
2017-10-09
链表常用操作集合
2015-12-06
WebRTC怎么断线重连?
2017-03-22
如何在linux下实现视频4G无线传输到服务器端?
2015-11-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人