站在人文与技术的交汇点

关注互联网,学习IT

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

Java基础github

最近在一直研究WebRTC开源项目Kurento-Room,初步研究的差不多了。也写了一些文档,等时机成熟我再分享出来!由于自己JAVA基础较为薄弱,所以特地学习和编写了一些例程,涉及JAVA基础和数据结构,正在Github上更新,希望大家多交流!1、java基础例程,参考毕向东视频教程 (ht...

2017-06-23 18:00:44

阅读数:245

评论数:0

深入理解系列之JDK8下JVM虚拟机(1)——JVM内存组成

今天开始谈论一些JVM虚拟机的知识。其实在前面叙述中多多少少已经附带提起了JVM相关的知识,如类加载、多线程相关的底层机制、方法调用、泛型的机制等等,但是实际上JVM知识会有很多,今天就把比较重要的其他一些知识再拿出来理一理。 首先要讲的也是非常基础的就是JVM的内存组成: JVM...

2018-05-14 10:22:09

阅读数:335

评论数:0

Tomcat多线程模型浅析

我们在上一部分文章里已经看到了,Tomcat的架构是如何一步步构建出来,但是在后台服务器的构建中,一个很重要的问题是如何实现多线程?一般情况下,如果我们来实现最初步的想法就是:不断循环接收客户端的连接,每个连接构建一个线程,然后进行相关的数据处理!但是,实际上我们应该考虑的更多,比如如何选用...

2018-05-13 19:00:14

阅读数:43

评论数:0

深入理解系列之JAVA多线程(3)——volatile原理

我们在上一篇文章讲到,synchronized关键字保证了代码同步性,同时有利于实现程序的安全性,但是同时也带来性能下降的弊端!所以,如果不是必要的我们应该避免使用synchronized关键字,在一些情况下可以采用其他方式作为替代!其中之一就是volatile。 1、什么是缓存一致...

2018-05-09 18:49:04

阅读数:33

评论数:0

深入理解系列之JAVA多线程(2)——synchronized同步原理

多线程中为了解决线程安全问题,一个重要的手段就是同步!所谓同步其实就是使得原本各个线程交叉执行(异步),变成排队执行(同步)。同步策略使得不同线程操作共享数据遵循“先来后到“,从而避免某个线程没有处理完数据就被另一线程抢占操作出现数据被覆盖或者脏读的情况。其中同步最常用的手段就是synchr...

2018-05-09 11:34:24

阅读数:68

评论数:0

Tomcat架构浅析

Tomcat服务器作为目前比较流行的一种服务器容器已经被广泛用于后台服务器的搭建、后台集成框架的嵌入(如SpringBoot),不同于Apache、Nginx本身(注意是本身,其实可以搭配后台脚本实现动态网页)仅仅支持静态网页,由于Tomcat其实是一种Servlet规范的实现,而Servl...

2018-05-08 16:21:01

阅读数:66

评论数:0

深入理解系列之JAVA多线程(1)——概念与原理机制

现代操作系统都支持多任务的处理,所以为了提高JAVA程序运行的效率,JAVA在虚拟机层面采用了多线程机制,即“同时”运行多个逻辑代码! 问题一、线程和进程的区别是什么? 在操作系统层面,我们听到最多的就是“进程”的概念,即在日常操作系统使用中,我们认为每个软件就是一个进程,线程被称...

2018-04-30 17:44:19

阅读数:73

评论数:0

深入理解系列之JAVA多态机制(重载/重写)

多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态(来自百度百科)。所以,按照这个意思其实多态的“主题”是对象,但是实际在我们运用中我们常把“重载”和“重写”称之为“多态”其实这是不严谨的!重载和重写只是多态的存在带来的两种应用表...

2018-04-25 16:21:49

阅读数:27

评论数:0

NIO入门实例-写一个客户端/服务器例程

注:该文章实际为《java网络编程》例11-1和例11-2的源码勘误!原例程经过实际测试并不能实现期望的功能,在分析代码逻辑后勘误如下! 在勘误之前贴出书中原始例程(仅服务器有误): package org.nioTest; import sun.rmi.runtime.Log; im...

2018-04-23 23:07:41

阅读数:22

评论数:0

深入理解系列之JAVA泛型机制

泛型是指在声明(类,方法,属性)的时候采用一个“标志符”来代替,而只有在调用的时候才传入真正的类型,我们最常见的泛型实例就是前面讲述的集合类,集合类在声明的时候都是通过泛型方式来声明的,只有在调用(实例化)时我们才确定传入的是Integer亦或是String等等! 注:本文着重叙述泛型实...

2018-04-20 11:47:26

阅读数:81

评论数:0

WebRTC自适应控制算法

该文章系总结性文章,主要参考一下文章: 1、webrtc视频jitterbuffer原理机制(描述版) - 简书 http://www.jianshu.com/p/bd10d60cebcd 2、WebRTC视频接收缓冲区基于KalmanFilter的延迟模型 - 简书 http://www...

2018-04-19 11:31:25

阅读数:37

评论数:0

通过python抓取博客信息

最近写博客,忽然想知道自己的博客阅读量的趋势都是怎么样的,无奈CSDN并不提供这个功能。本来是想偶尔的手动查看,记录到excel表格中然后一段时间后就能知道大概了,但是作为程序员能够交个程序自动执行的就不要采用这种原始的办法了,上网一搜果然有和我一样“无聊的”想做这个统计的,再加上最近学习pyth...

2018-04-19 11:07:18

阅读数:93

评论数:1

深入理解系列之JAVA数据结构(5)——String

String类型是Java编程中最为常见的数据结构(没有之一),与之相关联的还有StringBuilder和StringBuffer。其中String类型是不可变的;后者均是可变的字符串,但是StringBuilder是线程不安全的,StringBuffer线程安全;所以三者的效率排名为:S...

2018-04-17 21:04:21

阅读数:39

评论数:0

深入理解系列之JAVA反射机制

反射是指,程序运行期间,对于任意一个类,都能够知道这个类的所有属性和方法,且都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 问题一、反射机制的理论基础是什么? 如前言所属,基本每个java程序员都知道反射的概念和作用,但...

2018-04-17 09:54:00

阅读数:100

评论数:0

深入理解系列之JAVA动态代理机制

代理的作用,就是生成代理对象使得真实对象的某些方法执行被代理对象拦截,从而在真实方法执行前、执行后添加额外的“动作”!动态代理则是指不需要修改原来的对象方法,在程序运行的过程中动态的生成代理对象,从而动态的生成这些“额外的”动作,主要从两个方面来深入理解动态代理机制! 问题一、动态代...

2018-04-15 22:12:28

阅读数:38

评论数:0

深入理解系列之JAVA数据结构(4)——Hashtable

1、Hashtable和HashMap,从存储结构和实现来讲基本上都是相同的, Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类,但二者都实现了Map接口。 2、它和HashMap的最大的不同是它是线程安全的,另外它不允许key和va...

2018-04-07 13:00:23

阅读数:31

评论数:0

深入理解系列之JAVA数据结构(3)——HashMap

1、 HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null键。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable大致相同) 2、此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 3、 ...

2018-04-06 23:46:01

阅读数:88

评论数:0

深入理解系列之JAVA数据结构(2)——LinkedList

1、LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。 2、LinkedList相对于ArrayList来说,是可以快速添加,删除元素,ArrayList添加删除元素的话需移动数组元素,可能还需要考虑到...

2018-04-06 17:00:50

阅读数:26

评论数:0

深入理解系列之JAVA数据结构(1)——ArrayList

1、 ArrayList是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。提供了相关的添加、删除、修改、遍历等功能。 2、ArrayList实现了RandmoAccess接口,即提供了随机访问功能。在ArrayList中,我们即可以通过元素的序号快速获取元素对...

2018-04-06 15:49:41

阅读数:31

评论数:0

常用查找算法原理总结

一、静态查找表 1、顺序查找表:设置界(0~n),然后从头比到尾,有则返回!   顺序查找表plus:把原来的界(0~n)改为设置哨兵R[0]或者R[n],当比较到R[0](从后往前比)或者R[n](从前往后比)还没有相等的时候,就是没有!否则,有则返回!这样省略了每次都要判断是否到了...

2018-01-06 21:23:21

阅读数:66

评论数:0

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