- 博客(65)
- 收藏
- 关注
原创 Spring Core文档
花了一个月看spring core的文档,最终算是翻了一遍,记录一下 如果遇到前两个字母都是大写,那么spring容器里面bean的名字就保持不变。 Spring容器在创建的时候会验证bean的配置,但是并不会设置它的属性;真正的属性的设置也就是这个bean的真正创建会等到使用的时候,那个时候创建的是一个bean的索引(a依赖b,b依赖c) 构造函数注入会出...
2018-11-30 07:57:03
307
1
原创 Object的用法
3点,首先equals的四大特性, 自反性,就是自己一定要等于自己;对称性,x=y,那么y=x一定可以;传递性,x=y,y=z, 那么x=z; 持久性:x=y,那么一段时间内一直等于y. 第二,表明这个equals的意义,就是refer to the same object第三,如果重新hashcode,要保证the equal objects mast have equal ...
2018-09-22 15:53:42
3588
原创 HTTP(1)之计算机网络七层模型
下面是从网上整理的一些东西,作为笔记记一下。 TCP/UDP协议 TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复 用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先...
2018-09-22 15:38:10
1574
原创 java之HashMap
多线程成环 void transfer(Entry[] newTable){ Entry[] src = table; int newCapacity = newTable.length; //下面这段代码的意思是: // 从OldTable里摘一个元素出来,然后放到NewTable中 for (int j = 0; j < src.length; j++){Entry&l...
2018-09-19 23:20:34
161
原创 java之Thread(3): 线程池
上面是网上见到的一张图,借用一下,Executor:是Java线程池的超级接口;提供一个execute(Runnable command)方法;我们一般用它的继承接口ExecutorService。ExecutorService: ExecutorService也只是个继承接口,主要是三个submit函数,invokeAll是一次调用很多线程。首先介绍一下submit...
2018-09-13 00:00:58
614
原创 java之Thread(2): start,run,stop,suspend,resume,stop,destroy
run方法: 不是Runnable里面的,不一样。thread的run方法,是用来调用runnable里面的target,如果不是使用Runnable, 那么就返回空。 public synchronized void start() { /** * This method is not invoked for the main me...
2018-09-10 00:00:55
1006
原创 java之Thread(1): join,wait,notify,sleep
上面是在网上看到的,忘记是哪个博客了,借用一下。下面详细结束一下几个函数: 等待阻塞里面的wait和notify wait和notify字面意思就是等待和通知。首先要明确等待和通知相对的对象是什么?是对象锁。wait是Object的方法,也就是每个Object其实都可以做一个对象锁,对应一个监视器(monitor).wait的时候,就是等待对象锁,notify的时候,也是...
2018-09-09 23:54:20
483
原创 Integer源码分析
之所以10进制还需要getChars,是因为计算机不是十进制,所以无法直接输出。 源码里面debug无法看到 根据测试,toUnsigned就是补码情况下,去掉符号位的值。但是因为integer可能超出int的范围,所以会用到long 整型的幂运算可以使用Math.pow,只是需要来回转换数据类型。但是如果使用移位运算也是可以的。每移动一位,就是乘以2或者除以2...
2018-08-16 08:29:29
164
原创 POM(1):基本信息总结
因为最近的微服务项目需要统一构造pom,所以就学习了一下。虽然之前也学过,但都是解决问题了也就过去了。首先,项目想要达到的目标是:将所有的版本管理集中到一起,进行统一管理。使用通过子module的概念,实现提升版本后使用命令自动更新相关引用此包的版本。构造项目starter,实现项目引入以来的简单化。参考:pom各个组件详解: https://blog.csdn.net/u012152619/ar...
2018-06-27 07:54:31
998
原创 java使用phantomJs抓取动态页面
1. phantomjs的镜像网站:http://npm.taobao.org/dist/phantomjs/2. phantomjs内置webkit内核,也就是chrome的内核。可以无界面加载页面,指的是和浏览器上面的页面一致,也就是解析完js的页面。所以需要爬取或者获得动态页面的,这算是利器。3.之前自己也试了HttpUnit,不行的。网上找到的例子自己运行不了。
2017-04-01 10:45:54
32491
8
原创 git入门
git和github算是必备技能了。可惜我还不会。所以就花了一天时间好好看了看,把网上的资料整理了一下,算是一个入门。1. 首先你需要知道git里面的文件的状态。关于git里面的文件的状态,http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD/20151013/306433.html笔记链接:Git 中文件的状态和流转区_博客园2.
2017-03-19 17:46:04
348
原创 maven入门(3)
1. maven入门(1)里面提到过,我这里用的是eclipse-neon,maven3.9.这个版本的eclipse是自带maven的插件和maven的。所以,不要像网上说的再去下载什么插件了。2. 也就是说在这个版本eclipse里面直接可以创建maven的项目。file->new->other->maven->maven project即可。然后就是想命令行一样输入包名之类。其他默认。还
2017-01-09 10:42:21
322
原创 maven入门(2)
下面是mvn的几项基本知识的补充1. 首先是创建项目是输入的参数的意义:此处参考:http://blog.csdn.net/maple980326/article/details/52104338其实自己创建的项目名就是在pom里面引入其他包是输入的参数。2. 此处参考官网 3. maven的命令:Mave
2017-01-09 10:41:17
321
原创 maven入门(1)
1.因为做到一个项目需要使用在eclipse里面使用maven,所以就去看了一下。根据网上资料和自己的理解,整理如下。虽然网上很多讲的,但是发现都有点旧了。所以就贡献自己的一点力量,给出最新的。自己用的maven3.9,eclipse-neon22. maven的意义。其实这一点就像框架的意义一样,很多时候如果你自己单独为了学习框架而学框架,会很乏味,而且不知道用来干嘛。其实当你达到一定水平,
2017-01-09 10:38:50
259
原创 python进阶(1)基础
自己想在ubuntu上写点脚本。就学了一些python.接下来将会把自己的学习经验记录一些。自己学的时候ubuntu16,自带的是2.7.12。所以是可以直接用的。当然,也可以安装更新的。不过需要把ubuntu默认的python指向改掉。这里就不说了。首先是基础的学习:我用的是菜鸟的课程,大致看一下,写一下例子。至于高级编程里面的,则是用到的时候再说吧。然后就是应用了。因为如果不用的话,是
2016-12-25 23:14:08
274
原创 maven
1. 关于maven安装: 1.1. 到官网上下载bin.zip文件。解压。 1.2. 配置环境变量: M2_HOME = D:/tool/maven 然后在path里面加入 : %M2_HOME%\bin;2. cmd里面,mvn -v3. 把config下面的setting.xml复制到C:\Users\kinth\.m2下面。然后更改E:\kaikai\
2016-12-25 21:42:46
248
原创 编码(2):unicode和utf-8
下面是补充两篇文章:第一篇:https://www.zhihu.com/question/23374078上面是参考网址。只不过我提取了其中感觉有用的放到了下面。Unicode 和 UTF-8 有何区别?面试时被问到了,网上看了一下,实在是看不懂。最好几句话概括一下,简介就好很久很久以前,有一群人,他们决定用8个可以开
2016-12-06 19:34:13
356
原创 编码(1):unicode,utf-8和其他编码
1. 字符集:ASCII字符集,最初的字符集,对应了ANSI文件编码,一个字符用一个字节表示,严格来说这个时候字符集和文本文件的编码并没有必要作为单独的概念加以区分;从此也可以看出,原来是没有中间的字符集的抽象的。字符集就是编码方式,编码解码直接对着字符集的映射表即可。二者是一个概念。西欧字符集、日韩、港澳台、国标字符集等,仍然使用了ANSI文件编码,其中部分字符集一个字符要用两个字节;U
2016-12-06 19:28:14
669
原创 win10按照双系统,ubuntu16相关事项
15. 关于安装ubuntu,首先,制作启动盘用ultraso,添加启动项用easybcd。15.1. 关于磁盘的划分:首先是primary和Extended partition的区别。其实每台电脑只能有四个primary。这和分区引导有关。目前比较先进的引导已经没有这个限制了。但是因为大多数之前的电脑没有这么先进 。因为primary是不能再细分的。所以为了满足需要,就把其中的pri
2016-12-05 15:26:01
564
原创 每日一题(18): poj1159
1. 自己思考思路的时候开始觉得用动态规划,但是想不出公式。后来觉得如果把输入的字符串反过来,然后和原来的字符串相比求最大序列,然后答案就是原来的序列减去最大序列了。因为无法匹配的肯定需要添加。可以匹配的话就一定会出现在最大序列里面。这可以用反证法证明。解决了方法的问题。下面就是代码。其实就是一个最大序列匹配的问题。也是动态规划,公式:dp[i][j] = max{dp[i][j-1],dp[i-
2016-12-02 10:02:02
380
原创 每日一题(17): poj1080
1. 原来没有思路。因为LCS有点不熟。但是参考了网上的解法,有了思路,就自己写出来了。主要参考:点击打开链接2. 其实就是把之前的动态规划公式延伸了一维。因为之前虽然背包问题也可以是二维,但是毕竟可以化为一维。因为后一种状态只和其中一个index(j)有关。这也是可以化为一维的原因。但是此题不同,就是二维。当然,如果熟悉LCS,就可能会容易一点。公式:dp[i][j] = max
2016-12-01 20:05:03
308
原创 每日一题(15): poj2533
1. 直接用之前的lis代码了。而且那段代码求了序列出来。删掉一部分。但是交了两次都wa。后来发现,忘了注释掉重定向了。2. 没啥可说,主要是公式,而且很简单,就是dp[i] = max{dp[i],dp[j]+1}. 另外,不一定最后的最大。所以最后一个循环找到最大的。代码:#include#include#includeusing namespace std;co
2016-12-01 14:57:04
253
原创 每日一题(14): poj1260
1. 一次ac248K 0MS2. 其实就是公式。如前面所说。只要有公式就好办。一看感觉可以用动态规划。dp[i] = max{d[i-1]+(num[i]+10)*price[i], dp[j]+c[j+1,i]};关键是后面的动态那部分怎么写,也就是c[j+1,i]是怎么算。这里就是吧从j+1...i全部当成i层。可以想到,如果你觉得j+1...i之间还可以细分层,这么想是对
2016-12-01 11:52:43
312
原创 每日一题(13): poj1836
1. 自己没有思路。因为也没有看过最长上升或者下降序列的知识,而且自己的思路是动态规划,但是觉得两头都可以,就感觉没有思路了。2. 看到网上的做法:主要参考:http://blog.csdn.net/non_cease/article/details/69007513. 所谓的因为最高的两个人不一定相邻,所以第三个循环才需要两层。4. 想明白了其实很简单。思路就是,从1..
2016-11-30 16:25:20
253
原创 每日一题(12): poj3276
1. 这道题还是动态规划。原来自己没有思路,没有想到公式。看到网上才明白。然后自己写了一个:参考:点击打开链接 代码:#include#include#includeusing namespace std;char word[605][26];char msg[302];int w,l;int d[302];int main(){//重定向从文件读入f
2016-11-30 11:12:50
297
原创 每日一题(11): poj1276
1. 本来觉得很简单,却耗费了一天半的时间。本来做完1837之后感觉已经明白了怎么做。但是事实仿佛并非如此。当然,这也有自己的一点执念。2. 这几天体会到,写程序就像做数学题一样,很忌讳一算就错。程序也是,不能想起来觉得这样这样,但是写起来没有把握对。就像前两天有个演讲说的那样,印度的程序很厉害,因为所有人写的都一样。程序是工业产品,流水线上的产品,是有标准答案的。3. 总觉得不要
2016-11-29 20:59:49
279
原创 每日一题(10): poj1837
1. ac,1420K 32MS,2. 这题是动态规划,这是网上的poj的提醒分类里面第一道动态规划。所以一般做这道题可能和我一样,之前还没懂动态规划。其实动态规划目前我懂的就是把大问题分解为子问题来解决。3. 这道题是需要用上全部的砝码的。一开始觉得这需要组合,那就太庞大了。但是觉得用动态也不对啊。因为需要上全部的砝码。后来就明白了。网上大多数结题报告里面说
2016-11-28 16:31:55
284
原创 每日一题(9):poj1459
1. 一定要先看网络流。2. 本题可以转换成网络流里面的最大流。只要把生产者都连到同一个起始原点,消费者都连接到一个终止点。这样就转换成了到终止点的最大流问题。3. 关于网络流,建议到网上看一下,理论上主要有三点,就是f4. 实际操作的时候,需要明白两个概念。增广路,残余网络。首先,要明白求最大流的话,指的是在起始点流量无穷的情况下,同时能到达终点的流量有多大。网上好多给出的图里面就有
2016-11-25 17:18:52
321
原创 java虚拟机的理解
Content: 这是看完周志明老师的深入理解java虚拟机之后的个人理解。仅供参考。Time : 2016/11/191. 首先本文按照一个java程序的流程来写。2. 这里按照过程讲一下。首先是你写了一段代码。然后javac(不用ide,这样会更好一点)。Javac是编译。变成中间代码,class文件。涉及 编译原理里面的解释和编译。2.1. 编译和解
2016-11-19 17:48:27
1359
原创 每日一题(7),poj1094,
1. 关于拓扑排序l 在我们所有可以选择的课程中,任意两门课程之间的关系要么是确定的(即拥有先后关系),要么是不确定的(即没有先后关系),绝对不存在互相矛盾的关系(即环路)。以上就是偏序的意义,抽象而言,有向图中两个顶点之间不存在环路,至于连通与否,是无所谓的。所以,有向无环图必然是满足偏序关系的。l 所谓全序,就是在偏序的基础之上,有向无环图中的任意一对顶点还需要有明确的关
2016-11-19 10:56:10
330
原创 每日一题(7):poj3026,BorgMaze
1. 题意比较难理解的地方就是会分成几组,其实不用管。因为最小生成树,无论怎么分,无论谁来走,只要最后计算的是最小生成树的最后权值即可。2. 另一点就是思路。知道肯定要用最小生成树。但是因为每两点间的距离并没有给出来。所以需要先获得距离矩阵。需要用bfs。但是不是传统的bfs,因为这里要求得是全部点间的最短距离。需要使用循环来利用bfs,每次求一个点到其他点间的距离。另外,
2016-11-17 15:26:30
342
原创 每日一题(5)poj,1258, AgriNet
1. 题目很简单,直接的最小生成树。一次ac。296K 47MS 2. 感觉自己需要练练别的方法。prim算是很熟悉了。3. 还是不要忘了吧minw的赋值放到while循环里面。4. 在这里总结一下关于prim方法的步骤:4.1. 初始化。需要初始化的变量比较多。包括:1. 初始点;2. 返回值。3. 记录添加到生成
2016-11-16 11:12:39
269
原创 每日一题(5):poj2485, Highways
1. 题目很简单。一开始自己就写出来了,然后一直WA,不知道为啥,后来经过两个小时,发现了,就是越界。不知道就是memset不可用,然后自己用for复制。但是再边界用了等号。导致一直错。不知道为什么ide不报错。感觉这算是对C++不熟导致的问题了。2. 还有memset,一定在看看。感觉教训惨痛。3. 题目就不说了。很简单,很直接。直接最小生成树就可以了。
2016-11-15 12:22:22
352
原创 每日一题(4),poj1789, Truck History
1. 题意:主要是两点,就是type之间的距离指的是相同位置不同的字母数,然后公式是全部的(n-1)个距离相加的最小值。这时候就可以看出来是用最小生成树了。另外,体重求距离相加倒数的最大值,就是距离之和的最小值。2.总体来说就是prim生成树。但是有两点问题,一个是自已一直以为需要用set,但是发现不需要。只需要用一个数组存着目前每个点的最小值(访问过的用一个boolean数组控制),然后找出
2016-11-14 19:43:53
215
原创 每日一题(3)poj2513: Colored Sticks
1. 关于欧拉路(Euler’s Path)和欧拉回路(Euler’s Circle), 含有欧拉回路的图又叫欧拉图如果给定无孤立结点图G,若存在一条路,经过图中每边一次且仅一次,这条路称为欧拉路;如果给定无孤立结点图G,若存在一条回路,经过图中每边一次且仅一次,那么该回路称为欧拉回路。存在欧拉回路的图,称为欧拉图。一、 对于无向图G,具有一条欧拉路,当且仅当G是连通的,且有零个或
2016-11-01 19:21:08
315
原创 java学习(3)Map的排序
1. 首先关于map排序分为java8之前的,和之后的。也分为按照key和按照value的。也分为按照默认排序和自己的排序器的,下面一一说明。2. 一般排序按照key的话,一般key都是Integer和String,用TreeMap就可以了。3. 首先上面已经说了,按照key排序的话,其实直接用TreeMap挺好的。4. 首先是本次例子用的类(此类实现了Comparable接口。实际上
2016-11-01 15:39:49
4314
原创 java学习(2)Map类的遍历
1. Map类的遍历总共分为三种(有的分成四种,但我觉得就三种)1.1. 按照key1.2. 按照value(但是此种不能遍历key,只能遍历value)1.3. 利用Map.Entry2. 下面是代码:首先是main函数:public static void main(String[] args) { /
2016-10-31 20:18:13
216
原创 每日一题(2):poj1129: Channels Allocation
1. 关于复杂度的计算。没有用四色定理。直接暴力加剪枝。2. 148K 0MS, 要求:Time Limit: 1000MS Memory Limit: 10000K3. 主要是原来无从下手。后来看了点击打开链接才有了思路。主要就是map二维函数和color一维,给了自己思路。map的第一个参数用本点,然后二维是相邻点。color则是记录每个点的颜色。4. 输入值得
2016-10-31 00:01:19
297
原创 每日一题(1): poj2676: Sudoku
1. 题目的意思很简单。但是原来不知道怎么下手进行深搜。后来看到点击打开链接的思路,使用三个bool二维数组进行标记,才茅塞对开。在此表示感谢。推荐看看。2. 其实就是怎么判断的问题,因为搜索还是从头开始,按照坐标一步一步,就是判断原来觉得难。但是三个二维数组分别是行,列,小方格的判断,第一个下标就是行,列,和根据行列求出的方格序数。第二个下标就是1-9的数字。感觉一下子就解决。3. 还有
2016-10-29 12:12:39
333
原创 java学习笔记--thinking in java(一)----finalize()函数
1. 首先,从今天开始,我会陆续写一些java的学习笔记,主要是回头再看基础,有了一定自己的理解,就写出来供自己以后复习用。也希望如果有错误能有人帮我指出来。2. finalize是Object类的方法,所以所有的类都可以直接调用。写之前先说一句,那就是finalize并没有什么用。下面会写,其实看完thinking in java,深入理解java虚拟机以及网上的资料之后,就是一句话,没事别
2016-10-29 00:28:32
340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人