自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

widiot的博客

生也有涯,学无止境;学而不思则罔!

  • 博客(155)
  • 资源 (8)
  • 收藏
  • 关注

原创 【JUC】ConcurrentHashMap源码分析

注释取数方法没有加锁,所以会被存数方法影响聚合方法:size/isEmpty/containsValue,在没有被并发更新的情况下是准确的,但是存在并发更新时,上述聚合方法只是反映了map的一个瞬时状态,这种瞬时状态只能用于监测或估算,而不能用于程序控制和Hashtable一样,和HashMap相反,不允许使用null作为key或value属性常量MAXIMUM_CAPACITYmap在确定数组下标时,采用的是(length-1)&hash的方式,只有当length为2的指数幂的

2021-10-14 16:02:58 253

原创 【Java】POI读取Excel的两种模式

用户模式基本使用POI下usermodel相关包,它对用户友好,在ss包下有统一的接口,但它是把整个文件读取到内存中的,对于大量数据很容易导致内存溢出,所以只能用来处理相对较小量的数据示例代码public static List<Map<String, String>> readWorkbook(Workbook workbook) { if (workbook == null || workbook.getNumberOfSheets() == 0) {

2020-05-19 10:58:15 3364 1

原创 【SDN】安装Ryu及GUI,并解决Disconnected问题

1 安装Ryu最简单的方式是通过pip安装:pip install ryu如果需要,也可以通过源码安装:git clone git://github.com/osrg/ryu.gitcd ryu; pip install .2 安装GUI下载Ryu的Web GUI补丁,将ryu/ryu中的gui/文件夹复制到Ryu的安装目录ryu/ryu中:cp -r ./ryu/ryu/gu...

2019-04-07 16:45:02 3949 2

原创 【Docker】Ubuntu安装Docker

1 安装Docker安装Docker有三种方法,这里只用repository安装,更详细的安装方法可以看官方文档。1.1 添加repository首先更新apt:sudo apt-get update安装一些包让apt可以通过https使用repository:sudo apt-get install \ apt-transport-https \ ca-certif...

2019-04-01 15:52:41 9325

原创 【Java】静态导入import static

1. 意义import static静态导入是JDK 1.5增加的特性,有两种使用方式:import static java.lang.Integer.*;或者import static java.lang.Integer.MAX_VALUE;解释:用.*时,表示导入类中的所有静态属性和方法。用静态名称时,表示只导入该静态属性或方法。静态导入后就可以直接用名称访问静态属性和方...

2018-11-23 23:40:45 3218 1

原创 【mxGraph】源码学习:(7)mxCell

1. 概览mxCell是graph model的元素。它们表示graph中的group、vertex和edge的状态。对于自定义属性,建议使用XML节点作为cell的值。以下代码可用于创建具有XML节点的cell作为值:var doc = mxUtils.createXmlDocument();var node = doc.createElement('MyNode')node.setA...

2018-10-15 17:28:40 4158

原创 【mxGraph】源码学习:(6)mxGraphModel

mxGraphModel用于存储mxGraph中cell的状态,具有一些很重要的功能1. 概览mxGraphModel继承自mxEventSource以实现graph model。graph model是负责存储graph数据结构的包装器。graph model充当事务包装器,其中包含所有更改的事件通知,而cell包含用于更新实际数据结构的原子操作。1.1 图层模型中的cell层次结构...

2018-10-15 17:03:46 3520

原创 【mxGraph】源码学习:(5)mxGraph

由于mxGraph源文件有一万多行,且涉及很多其它源文件,所以会省略一些次要内容1. 概览mxGraph继承自mxEventSource以实现基于Web的图形组件。要激活平移和连接,请使用setPanning和setConnectable。对于橡皮带选择,您必须创建一个新的mxRubberband实例。默认情况下,以下侦听器添加到mouseListeners:tooltipHandle...

2018-10-14 17:46:15 7285 2

原创 【mxGraph】源码学习:(4)mxEventSource

mxGraph继承自mxEventSource,所以首先了解一下mxEventSource这个类。1. 作用mxEventSource是分派命名事件的对象的基类,采用原型链方式继承,如下所示:function MyClass() { };MyClass.prototype = new mxEventSource();MyClass.prototype.constructor = My...

2018-10-12 22:40:05 1756 1

原创 【mxGraph】源码学习:(3)mxResources

前面学习mxClient源码的时候,见过这个类的使用,主要是用于加载资源文件用于实现客户端的国际化1. 资源文件格式可以使用如下格式命名资源文件,比如graph_zh.txt:文件名:name[_en].properties如果没有下划线,表示其为默认加载的资源文件。如果客户端使用的语言存在对应的资源文件,则将加载该文件。资源文件中的项是key=value的格式,值可能会通过get...

2018-10-12 21:35:53 2552

原创 【mxGraph】源码学习:(2)mxClient

1. mxClient文件mxClient.js是客户端的引导机制,此文件include了运行mxGraph所需的所有源文件,并加载了其依赖的资源文件,以及配置了客户端的语言。意思就是只要在需要使用mxGraph的地方用&amp;amp;amp;amp;amp;lt;script&amp;amp;amp;amp;amp;gt;标签加载mxClient.js即可使用该库。这是一种非常好的做法,不仅能方便的进行开发,还能提供mxClient的压缩版本以提升加载速度。mxCl...

2018-10-12 17:14:26 4605 1

原创 【mxGraph】源码学习:(1)mxGraph库

基于 mxGraph 3.9.91. mxGraph简介mxGraph是一个JavaScript图表库,可以快速创建交互式图形和图表应用程序,这些应用程序可以在其供应商支持的任何主要浏览器中运行。mxGraph在2005年创建,作为商业项目一直持续到2016年,由于前端有很多新技术出现,所以mxGraph作为封装库的优势渐渐消失,最后创建者开明的以Apache 2.0开源协议在GitHu...

2018-10-11 18:21:51 4250

原创 【JavaScript】prototype定义的属性在实例中的表现

众所周知,用构造函数的prototype定义的属性将被所有实例共享,有节省空间和加快初始化速度的优点可是在初学之时,prototype具体的表现不容易理解,特别是跟Java的static变量类比时,有一个区别特别容易混淆:不能直接通过修改实例的属性影响prototype定义的属性举个栗子,在Java中,可以通过实例修改static变量的值,修改后的值将影响该类的所有实例。而在JavaScrip...

2018-10-09 17:02:52 590

原创 【Ubuntu】添加虚拟网卡的三种方式

ifconfig添加使用ifconfig -a命令查看已有物理网卡,一般得到如下输出eno1 ...(省略)lo ...ppp0 ...然后向物理网卡eno1中添加一块虚拟网卡sudo ifconfig eno1:1 192.168.0.10 up以上命令创建了一个叫eno1:1的虚拟网卡,地址是192.168.0.10可以使用如下命令删除su...

2018-10-03 22:01:21 31751 1

原创 【Java】为什么equals()和hashCode()需要同时重写?

equals()首先看下Object中的equals(),仅简单的用==比较两个对象public boolean equals(Object obj) { return (this == obj);}源码中对equals()的注释如下Indicates(指出) whether some other object is &amp;quot;equal to&amp;quot; this one.T...

2018-09-03 11:33:15 1447

原创 【Java】ArrayList、Vector、Stack和LinkedList的区别

继承关系ArrayList继承自AbstractListpublic class ArrayList&lt;E&gt; extends AbstractList&lt;E&gt; implements List&lt;E&gt;, RandomAccess, Cloneable, java.io.SerializableVector继承自AbstractList...

2018-08-27 19:02:49 2906

原创 【Java】String、StringBuilder和StringBuffer的区别

三者关系String实现了Serializable、Comparable、CharSequence接口public final class String implements java.io.Serializable, Comparable&amp;lt;String&amp;gt;, CharSequenceStringBuilder继承了AbstractStringBuilder类,实...

2018-08-22 13:26:02 291

原创 【LeetCode】初级算法:动态规划

1. 爬楼梯用时:4msclass Solution { public int climbStairs(int n) { if(n==1) return 1; if(n==2) return 2; int[] num=new int[n]; num[0]=1; num[1]=2; for...

2018-08-21 21:51:35 468

原创 【Java】int、long等基本类型占用字节数

基本类型所谓的占用字节数,就是申请内存的时候所占的空间大小 类型 字节数 最小值 最大值 boolean 未指定,至少1字节,仅定义为取字面值true或false - - byte 1 -128(-2^7) 127(2^7-1) short 2 -32768(-2^15) 32767(2^15 - 1)...

2018-08-19 17:32:37 6689 1

原创 【Java】==、equals()和hashCode()的区别

==1.用==进行比较的时候,比较的是变量的值。变量有两种类型:基本类型(int、double等)引用类型(类、数组等)2.对于基本类型,比较的是字面量int a = 12;int b = 12;System.out.println(a == b);# 输出:true3.对于引用类型,比较的是栈中reference的值int[] a = {1, 2};int[...

2018-08-19 16:08:58 276

原创 【LeetCode】初级算法:排序和搜索

1. 合并两个有序数组用时:5msclass Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int i=0,j=0,temp1,temp2; while(j&amp;lt;n&amp;amp;&amp;amp;i&amp;lt;(m+j)){ // 找到插入点 ...

2018-07-08 17:39:38 316

原创 【GitHub】创建Git分支将Hexo博客迁移到其它电脑

GitHub+Hexo搭建博客的过程比较平滑,但是它的配置却非常耗时间,一旦电脑出现问题或者需要在另外一台电脑上写博客,那么Hexo博客的迁移非常就让人头疼。下面参考其他博客的方法,整理出一个能在平时就管理重要文件的方法,方便随时迁移必备文件Hexo博客系统中影响迁移的只有一部分文件和文件夹,所以只需要备份它们即可 文件(夹) 说明 scaffolds/...

2018-06-13 22:13:28 3788 4

原创 【GitHub】GitHub+Hexo搭建个人博客

一、Hexo1.1 介绍Hexo是基于NodeJS的静态博客框架,简单、轻量,其生成的静态网页可以托管在Github和Heroku上超快速度支持MarkDown一键部署丰富的插件1.2 安装node.js在nodejs官网下载对应系统的安装包,按提示安装检验安装成功:$ node -v1.3 安装hexo$ npm install ...

2018-06-13 17:04:31 810

原创 【SpringMVC】解决跨域问题的两种方式

跨域什么是跨域跨域,即跨站HTTP请求(Cross-site HTTP request),指发起请求的资源所在域不同于请求指向资源所在域的HTTP请求这是浏览器对JavaScript的同源策略的限制,例如a.com下面的js不能调用b.com中的js、对象或数据(因为a.com和b.com是不同的域)同域的概念又是什么呢?简单的解释就是具有相同的域名(a.com)、端口...

2018-06-11 20:57:39 1356

原创 【Angular】设置代理解决跨域问题

跨域什么是跨域跨域,即跨站HTTP请求(Cross-site HTTP request),指发起请求的资源所在域不同于请求指向资源所在域的HTTP请求这是浏览器对JavaScript的同源策略的限制,例如a.com下面的js不能调用b.com中的js、对象或数据(因为a.com和b.com是不同的域)同域的概念又是什么呢?简单的解释就是具有相同的域名(a.com)、端口...

2018-06-11 20:44:31 8768

原创 【LeetCode】初级算法:树

1. 二叉树的最大深度用时:0msclass Solution { public int maxDepth(TreeNode root) { // 返回左右子树深度的最大值,再加1 if(root!=null){ return Math.max(maxDepth(root.left),maxDepth(root.right...

2018-05-31 10:44:11 333

原创 【爬虫】Heritrix 3.2安装和运行实例

Heritrix安装本地环境系统:Ubuntu 16.04Heritrix版本:3.2.0JDK版本:1.7(Heritrix 3.2不支持Java8)下载解压下载方式如下在CSDN上查找可以直接通过命令行使用的Heritrix 3.2版本,然后解压到工作目录,通过执行二进制文件运行也可以在GitHub下载release版本,然后通过IDE直接编译运行如果能访...

2018-05-13 00:08:28 5007 2

原创 【LeetCode】初级算法:链表

题目可以在LeetCode查看1. 删除链表的结点用时:0msclass Solution { public void deleteNode(ListNode node) { node.val=node.next.val; node.next=node.next.next; }}2. 删除链表的倒数第N个节点...

2018-05-11 22:46:13 359

原创 【LeetCode】初级算法:字符串

题目可以在LeetCode查看1. 反转字符串用时:3msclass Solution { public String reverseString(String s) { // 用时:4ms // StringBuilder sb=new StringBuilder(); // for(int i=s.length()...

2018-05-10 18:21:15 449

原创 【LeetCode】初级算法:数组

HashMapHashMap是基于Hash表的Map接口实现的,它提供所有可选的Map操作,并且允许多个null值和一个null键。HashMap不保证元素的有序,尤其是不保证随着时间的推移元素会保持之前的顺序。HashMap除了以下两点之外,其它方面和Hashtable大致相当非同步的(unsynchronized)允许null键值假设hash函数在buckets之间正...

2018-05-09 22:37:20 767

原创 【Linux】MBR磁盘分区表只能有四个分区?

看《鸟哥的Linux私房菜》的时候,说是partition table只能有四个分区,想知道为什么,以下参考自Wiki第一个扇区磁盘的第一个扇区(也可以叫做MBR,根据语境确定是第一个扇区还是主引导分区)记录了整块磁盘的重要信息,是计算机开机后访问磁盘时所必须要读取的首个扇区。主要有三个部分:主引导分区(Master Boot Record,MBR):主要作用是检查分区表...

2018-04-26 00:59:14 9032 1

原创 【算法】Java实现七种常用排序算法

排序算法插入排序 直接插入排序希尔排序交换排序 冒泡排序快速排序选择排序 直接选择排序堆排序归并排序 归并归并排序插入排序直接插入排序将待排序数组看作是左右两部分,左边为无序区,右边为有序区。排序过程就是将右边无序区中的元素逐个插入到左边有序区中,最后整个数组为有序区。package test;import java.util....

2018-04-23 00:27:32 449

原创 【Ubuntu】Ubuntu16.04下WPS演示闪退

问题描述Ubuntu16.04在更新了NVIDIA驱动之后,出现WPS演示闪退在命令行运行WPS演示$ cd /opt/kingsoft/wps-office/office6$ ./wpp得到的错误信息如下libGL error: No matching fbConfigs or visuals foundlibGL error: failed to load ...

2018-04-15 16:35:41 1871

原创 【TensorFLow】Ubuntu16.04安装CUDA8.0+cuDNN6.0+TensorFlow

NVIDIA驱动 Ubuntu在安装NVIDIA驱动前要先将BIOS中的的Secure Boot设置为Disabled附加驱动安装最简单的安装方式是直接在“系统设置-&gt;软件和更新-&gt;附加驱动”中安装终端安装如果需要在终端中安装,可以按照以下步骤进行1. 删除旧NVIDIA驱动sudo apt-get purge nvidia*...

2018-04-14 18:31:16 1521

原创 【Ubuntu】Ubuntu常用的更新、清理命令脚本

脚本我们平时经常在终端输入命令更新系统,或者清理系统,那几个命令来回输入也比较烦,所以可以直接写在脚本里,每次直接点击运行首先在桌面新建一个 upgrade.sh 文件然后输入如下常用的更新、清理命令,保存文件sudo apt-get updatesudo apt-get upgradesudo apt-get cleansudo apt-get autoclea...

2018-03-16 23:40:05 2749

原创 【Django】将Django模板引擎更改为Jinja2

安装Jinja2从 Django1.8 开始,支持第三方模板引擎使用如下命令安装 Jinja2pip install jinja2配置首先,在项目配置目录下建立一个jinja2_env.py,内容如下# from __future__ import absolute_import # 如果是py2就取消这行的注释from django.contrib...

2018-03-15 22:17:04 1099

原创 【NLP】TensorFlow实现CNN用于中文文本分类

代码基于 dennybritz/cnn-text-classification-tf 及 clayandgithub/zh_cnn_text_classify 参考文章 了解用于NLP的卷积神经网络(译) 及 TensorFlow实现CNN用于文本分类(译) 本文完整代码 - Widiot/cnn-zh-text-classification项目结构以下是完整的...

2018-02-04 17:00:59 8329 19

翻译 【NLP】了解用于NLP的卷积神经网络(译)

原文:Understanding Convolutional Neural Networks for NLP 作者:DENNY BRITZ 时间:2015/11/7了解用于NLP的卷积神经网络当我们听到卷积神经网络(Convolutional Neural Network)时,我们通常会想到计算机视觉。从 Facebook 的自动标记照片到自动驾驶汽车,CNNs...

2018-01-27 14:47:46 2207 2

原创 【Python】pip换源

国内源阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣 http://pypi.douban.com/simple/清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/中国科学技术大学 http://pypi

2018-01-23 11:23:39 4374

原创 【Ubuntu】Ubuntu16.04的主题和终端美化

主题美化安装 unity-tweak-tool首先安装桌面管理工具 unity-tweak-toolsudo apt-get install unity-tweak-tool 安装 Flatabulous 主题 Flatabulous 的 GitHub地址Flatabulous 主题是 ubuntu 下的一款扁平化主题,在终端下载安装sudo

2018-01-04 17:38:53 22321 5

LSTM的PTB数据集

用于LSTM自然语言处理的经典数据集,本来想免费的,现在CSDN最低两分,各位对不住了

2017-12-22

MNIST的数据集解压版及其下载代码

MNIST的数据集,从官网下载速度只有几k,这里下好了。本来想免费的,结果CSDN现在最低都要2分了,不懂这里面的逻辑

2017-12-01

Java64位SWT

Java界面开发的SWT包,64位,不解压导入到eclipse中

2017-06-14

MATLAB实现的LSBM(LSB Matching)算法(含界面和密钥)

MATLAB实现的LSBM(LSB Matching)算法,输入密钥可加密文本,有较好的交互界面

2017-06-09

MATLAB实现DCT的JPEG域Jsteg算法(包含界面和密钥)

MATLAB实现的空域LSB算法,可输入密钥加密文本信息,有较好的交互界面

2017-06-09

编译原理习题详细答案(陈火旺第三版)

编译原理,习题,陈火旺,第三版,详细答案

2017-06-09

Win10的DOSBox、MASM、DEBUG、LINK

用于没有自带Debug的Win10的DOSBox和MASM编译器,还有LINK,还包含了Debug32

2017-06-06

空空如也

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

TA关注的人

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