- 博客(85)
- 资源 (5)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Echarts开发人物关系网络图
引言: 人物关系可视化是将人与人之之间通过某属性进行连接而形成的关系网络,通过可视化技术展现出来。而baidu的Echarts是一款非常敏捷,迅速,酷炫的js可视化工具1.Echarts介绍ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 C
2017-10-19 16:19:50
9950
5
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 java基础(二)之深入剖析volatile关键字
引言: volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用volatile关键字的场景。以下是本文的目录大纲:一.内存模型的相关概念 二.并发编程中的三个概念 三.J
2017-09-14 21:54:02
9254
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 制作java程序安装包
将java变成安装包一般需要以下几步: + 1) 将java程序打包成jar格式 + 2) 将jar格式制作成exe + 3) 将exe制成安装包 下面我们一步步介绍各个步骤用到的工具以及注意点1.将java程序打包成jar包 eclipse自带的打包工具是无法将我们程序中引用的第三方包加入进去,我们需要将这些第三方包分别写入manife
2017-09-12 22:02:40
7864
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Echarts可视化开发之树型图(公司人事架构图)
引言:Echarts是百度开发的一款可视化的开源js框架,诸如此类的框架很多,今天我们就重点研究Echarts。使用Echarts非常简单,我们将需要展示的数据源以及可视化效果以参数的形式传入Echarts中即可。一.Echarts使用我们以官网的一个关于制作简单的树形图为例子,说明Echarts开发的整套流程。1.开发流程1).编写visual.hmtl文件,并引入echarts
2017-05-19 10:17:03
43702
11
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 图算法之求两点之间的所有路径(java)
1.给定图如下:2.求0到3之间可达的所有路径这里问题就是关于搜索遍历的问题,但其中需要注意到不能产生回路或环算法描述如下:3.java代码实现1)图结构点表public class Vertex {//存放点信息public int data;//与该点临接的第一个边节点public Edge firstEdge;}边表(代表与点相连的点的集合)
2017-03-26 17:29:17
14762
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 模拟退火算法应用(Java)
引言:我们在前面将动态规划的挖金矿问题中, 使用了建模的方式来解题。我们解题时使用的是穷举解空间的方式来解,但是当问题规模很大时,穷举法无法在段时间内求出最优解,此时我们可以找出一个平衡的局部解。1.题目描述有一个国家,所有的国民都非常老实憨厚,某天他们在自己的国家发现了十座金矿,并且这十座金矿在地图上排成一条直线,国王知道这个消息后非常高兴,他希望能够把这些金子都挖出来造福国
2017-03-25 17:13:02
7478
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 FastJson实现复杂对象序列化与反序列化
一.认识FastJsonfastjson是目前java语言中最快的json库,比自称最快的jackson速度要快,第三方独立测试结果说明比gson快大约6倍JSON帮助类 这个可以做一个实例研究代码,也可以作为一个工具类 去调用。 FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,Fastjson是一个Java语言编写的高性能功能完善的JSON库。F
2017-03-15 11:41:05
26625
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 selenium(二)之实现淘宝登录并计算个人淘宝总支出
1.引言 关于selenium的安装和基本语法,我已经在我博客中简单的介绍过了,这里我就不赘述了。这里我们直奔主题,讲解淘宝模拟登陆的全过程,并获取我们淘宝以往订单的所有信息。通过本次内容,将学习到一下几点:如何操作,定位元素如何保证脚本执行的稳定性如何执行订单分页操作2.实战这里我们将本次程序分成3部分讲解,淘宝登录,获取订单信息,执行分页,这3个部分,关于如何计算订单价格等都是其次的问
2016-08-12 11:17:04
7009
4
转载 SQL经典练习题
表名和字段–1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id) – –课程编号, 课程名称, 教师编号 –3.教师表 Teacher(t_id,t_name) –教师编号,教师姓名 –4.成绩表 Score(s_id,c_id,s_sco...
2018-06-08 00:01:38
2649
转载 TCP与UDP的区别总结
1、TCP与UDP区别总结:1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。3、UDP具
2018-04-16 14:59:56
657
转载 三次握手,4次挥手原理解析
建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。那如何断开连接呢?简单的过程如下:【注意】中断连接端可以是Client端,也可以是Server端。
2018-04-16 14:49:18
653
原创 java基础(十九)之深入java虚拟机
以下是我整理的关于学习java虚拟机的博客资料 1 深入Java虚拟机之一:Java内存区域与内存溢出(http://blog.csdn.net/ns_code/article/details/17565503)2.【深入Java虚拟机】之二:Class类文件结构 http://blog.csdn.net/ns_code/article/details/176756093.【深入Jav...
2018-04-16 11:36:11
274
转载 java基础(十七)垃圾回收机制
摘要: Java技术体系中所提倡的 自动内存管理 最终可以归结为自动化地解决了两个问题:给对象分配内存 以及 回收分配给对象的内存,而且这两个问题针对的内存区域就是Java内存模型中的堆区,本文将结合垃圾回收策略进一步给出内存分配规则。垃圾回收机制的引入可以有效的防止内存泄露、保证内存的有效使用,也大大解放了Ja...
2018-04-16 10:49:35
508
转载 java基础(十八)之java内存模型
Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理想,因此Jav
2018-04-16 10:16:11
304
转载 java基础(十六)jvm内存区域划分
JVM的内存区域划分,又被称为jvm内存模型,而非java内存模型,这是有区别的。下一篇将说到java内存模型在Java语言当中,内存如何划分? 由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java程序具体执行的过程:
2018-04-16 10:11:38
185
转载 Hbase技术底层细节
最近在逐步跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hbase的理解,对相关知识点做了笔记,并在组内进行了Hbase相关技术的分享,由于Hbase涵盖的内容比较多,因此计划分享2期,下面就是针对第一期Hbase技术分享整体而成,第一期的主要内容如下:一、Hbase介绍二、Hbase的Region介绍三、Hbase的写逻辑介绍四、Hbase的故
2018-04-15 20:47:18
2533
1
转载 数据库中表的连接方式详解
连接查询 通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在 关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不 同实体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,尔后通过连接进行查询。
2018-04-08 21:51:43
3150
转载 数据库三大范式
数据库设计当中三范式是经常遇到的,如果实际项目数据库设计中能达到第三范式基本也就满足要求了,那么如何快速有效的理解三个范式,同时应用于实际项目中去呢?首先看看标准定义的三个范式:第一范式(1NF)所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的
2018-04-08 21:27:58
221
转载 java基础(十五)AQS锁-Lock,condition
入门AQS锁 - ReentrantLock与ConditionReentrantLockjava.util.concurrent.locks.ReentrantLockReentrantLock是一个默认非公平的,可重入的,互斥(独占)锁。天哪,光这一句话概念就很多! 不过不用怕,我们下面会这些概念挨个进行详细的介绍。由于理解这些概念,是理解jdk1.5加入的juc包中各种并发类与接口的关键所
2018-03-22 23:12:11
389
转载 socket同步,异步,阻塞与非阻塞模式
socket阻塞与非阻塞,同步与异步1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步/异步主要针对C端: 同步: 所谓同步,就是在c端发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步):提交请求
2018-03-21 10:46:00
1608
转载 java 网络io编程总结
文章转载自:网络io总结 本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解。 下面代码中会使用这样一个例子:客户端发送一段算式的字符串到服务器,服务器计算后返回结果到客户端。 代码的所有说明,都直接作为注释,嵌入到代码中,看代码时就能更容易理解,代码中会用到一个计算结果的工具类,见文章代码部分。 相关的基础知识文章推荐: Linux 网络 I/
2018-03-21 10:32:38
305
1
转载 计算机网络中常见面试题
面试中网络方面的知识被问到的概率很大,尤其是互联网公司,要熟悉osi七层模型,其中TCP/IP方面的知识尤其重要。如果自己平时有Socket编程的经验对面试也是很有帮助的。网络方面有空可以看看TCP/IP详解卷一和UNIX网络编程。以下总结了一些面试中常问的问题:1、TCP为什么需要3次握手,4次断开?“三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。 cl
2018-03-21 09:24:16
350
转载 计算机网络协议集合
阅读目录1. 网络层次划分2. OSI七层网络模型3. IP地址4. 子网掩码及网络划分5. ARP/RARP协议6. 路由选择协议7. TCP/IP协议8. UDP协议 9. DNS协议10. NAT协议11. DHCP协议12. HTTP协议13. 一个举例 计算机网络学习的核心内容就是网络协议的学习。网络...
2018-03-21 09:17:26
8419
1
原创 2018阿里电面题
引言: 这次参加阿里大数据岗电面被刷了,发现基础知识还不是不够扎实,很多东西都停留于表面,很少真正关注底层实现。所以导致这次败北,希望下面整理多人的阿里电面题对大家能有帮助。一.操作系统 1.系统栈与用户栈区别 2.进程与线程相关知识,死锁的相关知识 二.网络 1.client与server底层通信全过程(直到网卡) 2.Tcp/IP三次握手与四次挥手,为什么? 3.tcp,ud...
2018-03-20 09:35:36
407
原创 java基础(十四)之整数计算溢出问题(原码,补码)
引言: 之所以写关于原码和补码的原因是在牛客网上做一道关于字符串转数字的问题,其中就涉及到转化过程中数字溢出的问题。所以特地进行了原码和补码的再度深入学习。一.原码数字分正负,如某人欠我钱,则可以用负数来表达。所以在原码中规定了二进制串的最高位用于标识符号位,即0代表正,1代表负。这其实是挺符合我们现实世界人思考方式。为了描述方便,这里我们这针对4位二进制进行分析。 现实世界中1在这4位二进制描
2018-03-19 14:57:53
1703
转载 Java基础(十三)java中Lock的实现原理
1. Lock 的简介及使用 Lock是java 1.5中引入的线程同步工具,它主要用于多线程下共享资源的控制。本质上Lock仅仅是一个接口(位于源码包中的java\util\concurrent\locks中)。常用方法://尝试获取锁,获取成功则返回,否则阻塞当前线程void lock(); //尝试获取锁,线程在成功获取锁之前被中断,则放弃获取锁,抛出异常 void...
2018-03-17 22:06:38
467
转载 java基础(十二)深入分析synchronized的实现原理
记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着我们学习的进行我们知道synchronized是一个重量级...
2018-03-17 21:56:55
281
原创 java基础(十一)操作系统中锁机制
前言:前几天阿里电面被问到了关于jvm锁机制的底层原理,说实话当时只是简单的了解基础api,真正内部实现确实不懂。所以在查阅大量资源的情况下,简单记录下我学习这方面的资料。一.操作系统级别的锁机制实现原理 我们知道jvm是属于运行在操作系统上的程序虚拟机。要想真正理解jvm是如何实现锁机制的,底层操作系统的锁机制是必须要了解的。 我们知道在多线程编程中,为了保证数据操作的一致性,操作系统引...
2018-03-17 14:58:39
1909
原创 java大整数四则运算
前言: 目前计算机中数据存储最大为64位,对超过64位的数进行运算就会导致运算结果错误。所以针对大整数进行四则运算是十分必要的。这也是面试中非常经典的问题,所以这次我们特意整理了关于大整数的四则运算。所谓的大整数的运算其实就是模拟了人脑进行数字计算用到的规则。1.大整数的存储 由于后续很多运算都是从低位开始,所以我们设计该存储方式为从低位向高位依次存放在数组。public clas...
2018-03-04 16:13:40
2447
原创 mybati paginator分页问题
paginator是mybati下分页较好的插件,碰巧遇到如下问题java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.github.miemiedev.mybatis.paginator.domain.PageListPageList是继承与ArrayList,但是查询结果会返回2个类型中一个,当PageBo
2017-12-15 13:48:00
743
原创 easyUI设计页面元素信息提示框
1.所需js,css css: easyui.css,icon.css js: jquery.min.js,jquery.easyui.min.js下载地址:源码及全部所需js,cs2.页面<html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/ht
2017-12-14 11:24:41
297
原创 java基础知识集合
1.如何产生随机数,随机数算法 2.对象复制,浅拷贝、深拷贝 3.对象序列排序,调用工具类的方法 4.求2个集合的交集,要求最少的时间复杂度 5.简单抽样原理和方法
2017-12-08 15:45:13
171
原创 H指数计算
H指数定义: H指数是用来综合衡量学者发表论文的数量和质量的指标。 若某学者共发表N篇论文,H指数是指存在h篇论文至少每篇有h引用量,剩下的N-h篇中,每篇都不超过h引用量。一.排序法复杂度 时间 O(NlogN) 空间 O(1)思路先将数组排序,我们就可以知道对于某个引用数,有多少文献的引用数大于这个数。对于引用数citations[i],大于该引用数文献的数量是citations.leng
2017-10-16 21:52:09
12736
1
原创 java基础(九)之线程同步Synchronized,Lock
引言: 很多大型系统为了处理大并发请求时,为了实现业务与服务解耦,通常会使用消息队列机制来提供相应的服务,这是典型的生产者-消费者模式,这里就涉及并发应用时多线程同步问题,临界资源的访问问题。为了更好的理解和应用多线程,我们需要对线程同步机制有深入的认识。本文将从以下几个方面入手1)线程同步互斥的概念 2)操作系统底层提供的同步互斥机制 3) java同步机制synchronized...
2017-10-15 12:58:34
363
原创 java基础(十)之深入剖析ThreadLocal
ThreadLocal在日常开发中使用并不是很频繁,但是在很多开源框架中都能见到这种用法。今天我们就来深入剖析下ThreadLocal原理以及ThreadLocal的应用场景。本文从以下几个方面来剖析ThreadLocal原理。 以下是本文目录大纲: 一.理解ThreadLocal 二.深入剖析ThreadLocal 三.ThreadLocal的应用场景一.对ThreadLoca
2017-10-14 22:36:46
271
原创 html页面传递中文参数发生乱码问题
我们知道如果url地址中包含中文时,一般浏览器都会将其重新编码成对应的字符。一.URL编码Url编码通常也被称为百分号编码,是因为它的编码方式非常简单,使用%百分号加上两位的字符——0123456789ABCDEF——代表一个字节的十六进制形式。Url编码默认使用的字符集是US-ASCII。例如a在US-ASCII码中对应的字节是0x61,那么Url编码之后得到的就是%61,我们在地址栏上输入htt
2017-10-14 16:30:28
7630
3
原创 Hadoop集群搭建文档
Hadoop集群搭建文档 以下为本文介绍目录:1.环境搭建2.常见安装问题以及解决思路环境: Linux系统 Ubuntu12.0.4 64 bit JDK jdk-linux-i586.tar.gz Hadoop hadoop-1.2.1.tar.gz一.环境搭建:1.安装完成Ubuntu12.0.4,需要安装JDK,(注意:安装JDK需要处理一些其他问题,JDK必须是
2017-09-23 22:33:34
457
原创 java基础系列(八)之自定义序列化
我们都知道java中实现序列化和反序列化,一般只需要实现接口Serializable即可。 一.序列化,反序列化1.定义: 序列化:将数据分解成字节流,以便存储在文件中或在网络上传输。 反序列化:打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例。2.java中序列化特点: 如果某个类能够被序列化,其子类也可以被序列化。声明
2017-09-23 16:24:41
703
原创 java基础(七)之快速理解泛型
引言: 泛型在日常开发中并不常见,但是在很多开发框架中却非常常见,学习泛型最好的方法就是阅读jdk源码,泛型在集合这部分大量应用。一.泛型的出现原因下面从两段段代码中来进行理解泛型出现的原因:import java.util.ArrayList;public class GenericTest {public static void main(String[] args) { Arra
2017-09-22 15:58:54
368
原创 java基础(五)之JAVA编码规范
一.命名规范1 一般概念 1) 尽量使用完整的英文描述符 2) 采用适用于相关领域的术语 3) 采用大小写混合使名字可读 4)见名知意,简短意赅(小于 15 个字母为正常选择) 5) 避免使用下划线(除静态常量等)2 标识符类型说明1)包( Package )的命名 Package 的
2017-09-20 23:14:36
358
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人