自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘滨浩的博客

互联网从业人员。来自民风淳朴的云南,勤劳朴质,坚持学习,相信技术改变世界,努力提高自己,在csdn记录成长中的点点滴滴,也愿意将所学所用分享出来,欢迎来访,可加微 behico

  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 再也不担心问到Java集合了,一文讲透Java中的数据结构

数据结构作为每一个IT人不可回避的问题,而Java对于不同的数据结构提供了非常成熟的实现,这一个又一个实现既是面试中的难点,也是工作中必不可少的工具,在此,笔者经历漫长的剖析,将其抽丝剥茧的呈现出来,在此仅作抛砖引玉,望得诸君高见,若君能有所获在下甚是不亦乐乎,若有迷惑亦与诸君共求之!

2021-01-28 13:20:18 12477 88

原创 十块钱帮我做个视频网站吧,就带弹幕那种?基于websocket协议与netty实时视频弹幕交互实现

实时视频弹幕基于websocket协议与netty实时视频弹幕摘要1 技术选型1.1 netty1.2 WebSocket1.3 为什么做这样的技术选型。2 实现思路2.1 服务架构2.2 传输流程3 实现效果3.1 视频展示4 代码实现4.1 项目结构4.2 Java服务端4.2.1 先做一个netty nio的服务端:4.2.2 服务端的具体处理逻辑4.3 网页客户端实现5 小结基于websocket协议与netty实时视频弹幕摘要2021年了,还有不支持弹幕的视频网站吗,现在各种弹幕玩法层出不穷

2021-01-14 21:28:16 4672 36

原创 2021年了还有做某某管理系统的?springboot整合mysql快速搭建XX管理系统

XX管理系统摘要1 技术选型1.1 Mysql81.2 springboot21.3 模板引擎thymeleaf2 项目构建2.1 创建项目2.2 建表3 项目实现3.1 项目效果3.2 项目结构4 代码实现4.1 前台页面4.2 后台业务实现4.2.1 实体类Employee4.2.2 数据库操作层repo摘要对企业来说,人、物资、能源、资金、信息是5大重要资源。人、物资、能源、资金这些都是可见的有形资源,而信息是一种无形的资源。以前人们比较看重有形的资源,进入信息社会和知识经济时代以后,信息资源就显

2021-01-08 00:25:51 3803 53

原创 图片资源服务器?一小时手写http服务器提供资源服务

http服务器摘要一、什么是http服务器二、如何自己简单实现一个http服务器三、自己实现的http服务器四、Http服务器实现(Java)摘要web开发一直是行业热门技术,而要做web程序就离不开http服务器,现在主流的http服务器用的最广的如tomcat,apache。还有商用版本的各式各样的http服务器,而再行业类各种微服务,各种web开发技术层出不穷,都是基于这些服务器上的架构上的使用,并没有从本质上提高服务器运行的效率,笔者在研究http服务的过程中,就花了一早上来写了这样一个http

2021-01-01 13:19:24 5816 36

原创 3.3 线程安全分析

3.3 线程安全       线程安全是指当我们多个线程去同时去执行我们写的同一段代码不会发生安全问题,这就是线程安全。线程安全意味着代码有效的处理了资源竞争的问题(Race condition),在并发的情况下对与资源的处理不会发生错误或者得到非预期结果。3.3.1 线程不安全       什么情况下会发生线程安全问题呢?请看下例。/** * Copyrig

2021-01-31 01:17:44 3389 6

原创 2.14 LinkedHashSet解析

2.14 LinkedHashSet       LinkedHashSet用的也比较少,其也是基于Set的实现。2.14.1 LinkedHashSet继承关系       和HashSet一样,其也是Set接口的实现类,并且是HashSet的子类。2.14.2 LinkedHashSet源码package java.util;public class

2021-01-27 22:17:45 808 1

原创 2.13 ArrayDeque源码解析

2.13 ArrayDeque       ArrayDeque是Java中基于数组实现的双端队列,在Java中Deque的实现有LinkedList和ArrayDeque,正如它两的名字就标志了它们的不同,LinkedList是基于双向链表实现的,而ArrayDeque是基于数组实现的。2.13.1 ArrayDeque的继承关系       可见ArrayD

2021-01-27 22:04:04 803 3

原创 2.12 Stack

2.12 Stack       Stack也是List接口的实现类之一,和Vector一样,因为性能原因,更主要在开发过程中很少用到栈这种数据结构,不过栈在计算机底层是一种非常重要的数据结构,下边将探讨下Java中Stack。2.12.1 Stack的继承关系       Stack继承于Vector,其也是List接口的实现类。之前提到过Vector是线程安

2021-01-27 21:10:47 755 1

原创 2.11 PriorityQueue使用与源码解析

2.11 PriorityQueue       先看下PriorityQueue的继承实现关系,可知其是Queue的实现类,主要使用方式是队列的基本操作,而之前讲到过Queue的基本原理,其核心是FIFO(First In First Out)原理。       Java中的PriorityQueue的实现也是符合队列的方式,不过又略有不同,却别就在于Prior

2021-01-26 00:35:29 967 2

原创 cannot be cast to java.lang.Comparable at java.util.PriorityQueue.siftUpComparable

异常:Exception in thread “main” java.lang.ClassCastException: com.lbh.xxmanager.basic.java.ArrayD$Test cannot be cast to java.lang.Comparableat java.util.PriorityQueue.siftUpComparable(PriorityQueue.java:653)at java.util.PriorityQueue.siftUp(PriorityQueue

2021-01-25 23:06:16 788

原创 1.5 面向对象之封装

1.5 封装的定义       封装是对对象内部部分信息的隐藏,不允许直接对这些信息进行访问,要操作这些信息必须通过预留的接口。       为什么需要对对象信息进行封装(1)严格控制访问权限,保护属性不被污染,减少了模块间的相互干扰;(2)更精准的操作属性,能够让使用者清晰的知道实在进行都还是写操作;(3)方便维护和实现。  &nbsp

2021-01-24 23:42:57 824 3

原创 Python工具库NumPy

1 什么是NumPy       python扩展库,主要用于处理高维度数组和矩阵运算。NumPy提供了非常强大的数字运功功能,其主要用于数据科学和机器学习领域。1.1 Ndarray       ndarray是用于存放同类型元素的多维数组。1.1.1 array方法示列:arr = np.array([[1, 2, 3], [4, 5, 6]])pri

2021-01-24 02:04:25 1096 4

原创 他曾经来过—墨茶

周五的时候看到一位up主因无钱治疗去世,看到的时候就感觉心口一震,眼眶顿然就湿了,为什么人生这么苦?打工,黑心老板,父母抛弃,高中辍学,病魔这样的字眼萦绕在脑海里,这样一个乐观的孩子,他的生活却全是苦,真的是印证了,有的人光是活着,就已经用尽全力了。他活着的时候没人知道,这是为什么?科技真的是没有感情的吗?想了很久,科技确实没有感情,科技的使用就是恶的,为了挣钱科技就产生了恶,没有技术的产生是为了善良。他的动态活着的时候也不会被很多人发现,这就是科技的恶。科技没有感情,科技的使用尽是向恶。现在是怎么了,

2021-01-23 23:11:26 5856 32

原创 3.2 Thread面试必问 硬刚jdk源码

3.2 初识线程       线程(thread)是操作系统能够进行运算调度的最小单位。当执行java main方法的时候,jvm就会创建一个线程来执行我们编写的java程序,当执行多线程程序的时候,jvm会创建新的线程来执行该线程执行的代码段。3.2.1 Java创建和启动线程       创建线程有两种方式,第一种直接new Thread(),重写run()方

2021-01-23 21:11:59 1375 1

原创 2.10 Java中Queue和Deque接口

2.10.1 什么是Queue       正如数据结构中描述,queue是一种先进先出的数据结构,也就是first in first out。可以将queue看作一个只可以从某一段放元素进去的一个容器,取元素只能从另一端取,整个机制如下图所示,不过需要注意的是,队列并没有规定是从哪一端插入,从哪一段取出。2.10.2 什么是Deque       Deque英

2021-01-23 00:10:54 1427 8

原创 3.1 Java并发与多线程概念

3.1 多线程cpu的概念       首先需要了解到为什么Java会支持多线程,这一切都是芯片技术的发展,多年前cpu还是单核运行模式,可以说是因为有了多核心处理器才有了并发,有了多核心多线程,才有了多线程运行的程序。       笔者做了一个多核多线程CPU的基本构成图,可以看出一定是多核心才会有并发,单核心多线程并不是真正的并发。3.1.1 为什么会有并发

2021-01-22 00:11:39 2215 8

原创 2.9 Vector 源码解析

2.9 Vector和ArrayList一样,Vector也是List接口的一个实现类。其中List接口主要实现类有ArrayLIst,LinkedList,Vector,Stack。其中后两者用的特别少。2.9.1 vector组成和ArrayList基本一样。//存放元素的数组protected Object[] elementData;//有效元素数量,小于等于数组长度protected int elementCount;//容量增加量,和扩容相关protected int c

2021-01-21 23:10:05 2731 3

原创 2.8 SortedMap接口与TreeMap源码解析

2.8 SortedMap接口SortedMap继承自Map接口,是一种有序的Map。public interface SortedMap<K,V> extends Map<K,V> { Comparator<? super K> comparator(); SortedMap<K,V> subMap(K fromKey, K toKey); SortedMap<K,V> tailMap(K fromKey);

2021-01-20 01:27:08 821 4

原创 2.7 HashMap面试必问(源码解析)

2.7 HashMap中的数据Map接口中有一个Entry接口,在HashMap中对其进行了实现,Entry的实现是HashMap存放的数据的类型。其中Entry在HashMap的实现是Node,Node是一个单链表的结构,TreeNode是其子类,是一个红黑树的类型,其继承结构图如下:HashMap存放数据的数据是什么呢?代码中存放数据的容器如下:transient Node<K,V>[] table;说明了该容器中是一个又一个node组成,而node有三种实现,所以hashM

2021-01-20 00:17:15 1530 17

原创 企业微信居然崩啦

19日下午5点左右企业微信崩了,你们受影响了吗?

2021-01-19 17:17:01 1680 3

原创 2.6 Map接口

2.6 Map接口源码如下:package java.util;import java.util.function.BiConsumer;import java.util.function.BiFunction;import java.util.function.Function;import java.io.Serializable;public interface Map<K,V> { // Query Operations int size(); b

2021-01-18 03:15:42 847 2

原创 2.5 Set接口(HashSet源码解析)

2.5 Set接口的继承关系可以看到Set接口和List接口一样的继承关系都是Iterable=>Collection=>Set2.5.1 Set接口中的方法java中的Set接口和Colletion是完全一样的定义。package java.util;public interface Set<E> extends Collection<E> { // Query Operations int size(); boolean isEmp

2021-01-18 02:54:40 891 1

原创 2.4 LinkedList 源码解析

2.4 LinkedList众所周知LinkedList是一种链表结构,但是其中Java里LinkedList是怎么实现的呢?2.4.1 LinkedList的结构LinkedList中Node源码如下,由当前值item,和指向上一个节点prev和指向下个节点next的指针组成。并且只含有一个构造方法,按照(prev, item, next)这样的参数顺序构造。private static class Node<E> { E item; Node<E> nex

2021-01-18 02:28:47 822

原创 2.3 ArrayList 不能再详尽的源码解析

2.3 ArrayList首先我们知道,ArrayList是List接口的一个实现类,支持List接口的一些列操作。2.3.1 ArrayList构造函数看源码:private static final Object[] EMPTY_ELEMENTDATA = {};private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}transient Object[] elementData; // non-private t

2021-01-17 22:45:06 884 1

原创 定位打卡等等位置服务你会了吗? 如何快速使用腾讯位置服务

随着社会发展进步,一切都不再是路遥行远,行万里路也不是难事,去陌生的地方也不用担心地不熟啦,各种地图软件服务为我们解决了这一问题,其中腾讯位置服务更是其中佼佼者,腾讯地图提供的位置服务为大众提供了遍历,在腾讯位置服务这个平台上上我们还可以做很多各种各样的定制服务,如企业办公打卡,实时位置共享,真实地图游戏等等......

2021-01-17 13:41:35 2626 15

原创 2.2 Collections类 (Collections源码解析)

2.2 Java.util.Collctions这个类中的方法实在是太长了,挑一些经典的,面试也常常问道的问题出来讲讲!2.2.1 为什么Collections中的静态方法可以让一个非线程安全的集合变成线程安全呢?以synchronizedMap(Map<K,V> m)方法为例: public static <K,V> Map<K,V> synchronizedMap(Map<K,V> m) { return new Synchron

2021-01-16 00:45:13 962 2

原创 2.1 List,Collection,Iterable接口

2 集合2.1 List接口2.1.1 List接口的继承关系List接口的继承关系如下,最上层是Iterable接口,Collection接口继承了Iterable,List又继承了Collection。2.1.2 Iterable接口源码如下:package java.lang;import java.util.Iterator;import java.util.Objects;import java.util.Spliterator;import java.util.Split

2021-01-15 23:57:20 832 3

原创 1.4 Java 数组 (冒泡排序)

1.4 数组数组指存储连续的元素集合。所以通过元素下标就能快速查找的一种结构。假设该数组每一个元素占用空间为space,元素的第一个存储位置为start(第一个元素索引为0),那么第n个元素的地址就是location(n) = start + (n-1) * space。1.4.1 Java定义数组示例1:String [] strings = {“hello”,“ok”,“thanks”};示例2:int [] ints = new int[3];这就是java定义数组的两种方式。1.4.2

2021-01-15 00:17:35 1511 3

原创 1.3 Java关键字(String源码解析)

1.3.1 Java的关键字Java关键字: oracle对java关键字的描述.Java明确有50个关键字,其中有两个是仍未使用的:goto和const。现在正在使用的Java关键词只有48个。这样想编程语言是不是很简单呢!我们记的英文单词几千甚至上万,而Java只要学会了这48个关键词的使用就掌握了Java的所有用法,是不是so easy!1.3.2 Java关键字分类控制访问权限的如private,protect,public,static控制流程和循环的:do,while,if ,f

2021-01-13 22:20:12 871 4

原创 1.2 Java基础 数据类型(Integer源码解析)

Java数据类型和Integer源码解析1.2.1 基本数据类型1.2.2 什么是拆装箱1.2.3 拆装箱是如何实现的1.2.4 Integer源码解析1.2.1 基本数据类型如大家所知,Java是一门面向对象的语言,但是java并非完全面向对象,Java中的数据类型分为了原型(Primitive data types)和非原型(Non-primitive data types),所有的类,接口数组,包装类都是非原型,或者可以说除了八种原型之外的数据类型都是非原型。原型原型概述范围默

2021-01-10 23:13:28 937 1

原创 1.1 Java之始 HelloWorld

1 学习一门编程语言相信我们大多数人都是从这样过来的,学习每一门语言都是从Hello World开始的,第一次将这个字符串打印在电脑窗口上,第一次总是这样让人印象深刻。犹记大一刚学C语言,第一次写Hello World还遇到了很多困难,时隔数年,在此记录一下完整的Java知识体系。笔者将重新梳理自己的Java知识结构体系,在此记录。2 Hello World看到这个熟到不能再熟悉,简单到不能再简单的程序,内心不免多了几分感概。public class HelloWorld { public

2021-01-10 15:04:13 935 3

libfastcommon-1.0.40.tar.gz

linux组件,用于一些基础服务搭建。 如:fastDFS图片服务器,分布式部署全部工具。 linux系统下解压,完成配置即可使用,可以完成分布式文件存储,适合搭建图片服务器或者一些小文件存储服务。

2020-03-25

空空如也

空空如也

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

TA关注的人 TA的粉丝

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