自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Fish的专栏

代码舞得腰疼

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

原创 jdk17已发布快来下载

jdk17以发布,下载链接如下:链接: https://pan.baidu.com/s/19KFHKB16iFkxfrfXd2XatQ提取码: 15k7sha256 :b59d7216e11e438179dd716404d9bbb45fdd11714cccf553b857cc90c525ebc3扫码下载链接觉得不错就点个赞!如何验证 sha256 值查看这篇博文:https://jingyan.baidu.com/article/5bbb5a1b1d027452eba1798...

2021-10-04 12:17:08 414

原创 java线程的中断

java线程调用了中断方法interrupt(),线程不一定会被中断,要被中断满足一定的条件。

2017-08-13 23:10:07 389

原创 程序员不能只会敲代码还要会投资理财

程序员不能只会敲代码,还要会理财或者说投资。        当我们步入职场,随着我们工作经验的增长我们的薪资相应的也会快速提高,很多人可能思维上还没有改变过来,不知道如何利用自己的闲钱去保值或者增值。当然现在互联网理财发展已经比较的成熟了,大多数的人也知道用自己发的工资直接购买余额宝来赚取利息,余额宝可以说是开启了国人理财的意识。对于我们普通人来说可以有以下几种投资:XX宝比如余额

2017-07-23 19:06:21 745

原创 微信发个朋友圈没有想到也可以用设计模式来实现——观察者模式

观察者模式的概念观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式的别名包括发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式是一种对象行为型模

2017-07-09 15:27:35 1743

原创 6基础知识笔记二

安全的对象构造过程不要在构造过程使用this引用逸出。可以使用工厂方法来防止this引用在构造过程中逸出。public class SafeListener{ private final EventListener listener; private SafeListener(){ listener = new EventListener(){ public void

2017-06-24 17:29:00 270

原创 6基础知识笔记一

线程安全性要编写线程安全的代码其核心在于要对状态访问进行管理,特别是对共享的和可变的状态的访问。非正式的说,对象的状态是指存储在状态变量中的数据。对象的状态也可能还包括其他对象的域。“共享”变量可以由多个线程同时访问,而“可变”意味着变量的在其生命周期内可以发生改变。一个对象是否需要多线程,取决去它是否被多个线程访问。如果保证多线程访问同一个可变的状态变量时,不会出现错误。有三

2017-06-17 17:32:05 247

原创 Java源码集合类TreeMap学习2

通过分析 JDK 源代码研究 TreeMap 红黑树算法实现参考:https://www.ibm.com/developerworks/cn/java/j-lo-tree/index.html?ca=drs-

2017-06-11 17:21:20 293

原创 Java源码集合类TreeMap学习1——数据结构5红黑树

红黑树本质上一棵平衡二叉树。参考:https://github.com/julycoding/The-Art-Of-Programming-By-July/blob/master/ebook/zh/03.01.md

2017-06-10 17:22:56 211

原创 Java源码集合类TreeMap学习1——数据结构4平衡二叉树创建代码

平衡二叉排序树上插入一个新的元素递归算法,还是比较复杂的,特别是代码的实现上想要理解还是要动手去一步步去手动执行代码。个人理解这个算法和看示例代码也是费了很大一番功夫,理解程度上还是初级阶段。总之还是要自己去多实践才能更好理解。#include#include #define OK 1 #define ERROR 0 #define OVERFLOW -1#define

2017-05-14 16:59:48 567 1

原创 Java源码集合类TreeMap学习1——数据结构4平衡二叉树插入一个元素的递归算法

平衡二叉排序树上插入一个新的元素递归算法(参考书籍《数据结构(C语言版)》)平衡的二叉排序树BBST(Balanced Binary Search Tree)上插入一个新的元素e的递归算法有如下几种情况。(1) 若平衡的二叉排序树为空树,则插入一个新的元素e的新结点作为平衡的二叉排序树的根结点,那么树的深度就为1;这个很好理解空树插入了一个根结点e,并且这棵树的深度为1,如下图中nul

2017-05-06 18:15:21 816

原创 Java源码集合类TreeMap学习1——数据结构4平衡二叉树的旋转

平衡二叉树的旋转理解清楚平衡二叉树的概念。具体如何旋转是平衡二叉树保持继续平衡的,可以参考如下的两个博客和一本书。https://www.tutorialspoint.com/data_structures_algorithms/avl_tree_algorithm.htmhttp://btechsmartclass.com/DS/U5_T2.html《数据结构C++》作者

2017-04-23 16:07:32 444

原创 Java源码集合类TreeMap学习1——数据结构3二叉树创建代码

二叉树的二叉链表存储结构二叉树的二叉链表存储结构,一个结点结构包含三个域:数据域、左、右指针域。如下图所示。二叉树的遍历知识参考:http://blog.csdn.net/fansongy/article/details/6798278/二叉树的二叉链表存储表示的代码如下。//Tree.cpp#include#include#define OK 1#defin

2017-04-22 14:34:39 595

原创 Java源码集合类TreeMap学习1——数据结构2

二叉树的定义二叉树(Binary Tree)是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树的性质性质1 在二叉树的第i层上至多有2i-1个节点(i>=1)。性质2 深度为K的二叉树至多有2k-1个节点(k>=1)。性质3 对任何一颗二叉树T,如果其终端节点数为n0,度为2的节点数为n2

2017-04-16 22:52:46 521

原创 5基础构建模块——并发容器

并发容器通过并发容器来替代同步容器,提供性能,可以极大地提高伸缩性并降低风险。java 5.0增加了两种新的容器类型:Queue和BlockingQueue。Queue的实现有:ConcurrentLinkedQueue,这是一个传统的先进先出的队列,PriorityQueue(非并发的)优先队列。Queue上的操作不会阻塞,如果队列为空,获取队列元素的操作将返回空值。Blocking

2017-04-15 12:54:44 388

转载 雄安行情能走多远?

原创 2017-04-05 端宏斌 老端的观点文/端宏斌 最近老端命犯小人,写的文章接连被删除,每篇文章的平均存活时间也就不到24个小时。上一篇文章更绝,凌晨2点多被和谐了,审查员不用睡觉的吗?凌晨还坚持工作,坚持删我文,这是一种什么样的精神? 有网友在后台给我留言说,每次想看文章都看不了,希望老端能想想办法,管一管。好吧,我能怎么办?我也很绝望啊!发生这样的事,大家都不想啊。

2017-04-09 15:39:31 707

转载 为什么不该去雄安新区炒房?

原创 2017-04-03 端宏斌 老端的观点文/端宏斌 昨天那篇关于雄安新区的文章,又因为奸人举报而被删除,可笑的是,我原文被删了,但那么多转载的却没事。 今天,公共号后台有好几百人希望我把文章单独发给他,你觉得我会发吗?由于老端的文章经常被删,因此你应该尽快看完。建议你把我的公号置顶 这两天,跑去雄安新区买房的人排成了长队,我有几个朋友也跑去做了考察,房子是肯定不能

2017-04-09 15:37:42 1862

转载 树泽:汽车次贷,可能正在酝酿下一次经济危机

2017-04-07 许树泽 树我直言前事不忘后事之师,今天树泽为你破解危机基本原理,同时教你如何做好防范准备。前事不忘后事之师,2007年,距今整整十年。那一年,美国发生了一场举世罕见,影响巨大的经济危机。它的全称叫做“房地产次级债务危机”。 它是怎么发生的呢?它和三波人有关:居民,美国政府,金融机构。首先,居民想买房,这个想法和需求非常朴素,也非常直接。

2017-04-09 15:32:02 383

原创 5基础构建模块——同步容器类

同步容器类同步容器类包括Vector和Hashtable,以及同步的封装容器类。它们实现线程安全类的方式是:将它们的状态封装起来,并对每个公有方法都进行同步,使得每次只有一个线程访问容器的状态。同步容器类的问题容器上常见的复合操作:迭代、跳转(根据指定元素找到当前元素的下一个元素)以及条件运算("若没有则添加")。这些都是线程安全的,但是其他线程并发的修改容器时,它们可能就会出现意料之

2017-04-09 15:11:48 410

转载 负隅顽抗的房价,终于被镇压了

文/端宏斌 老端的观点(版权所有)今年春节以来,不要命的房价不惧任何调控,还在顽强上涨,面对如此不听话、不讲政治、不讲大局观的房价,朝廷祭出了各种大杀器,特别是北京出台组合拳,在过去10天出了9个政策,意在断绝所有炒房可能,直接把楼市给冻结起来。那些炒学区房和商住房的,都哭了。特别是商住房,彻底套死在手里。还有官员表示,你房价再涨涨看嘛,只要还敢涨,后续打压手段多得是。

2017-04-02 00:17:39 493

原创 Java源码集合类TreeMap学习1——数据结构1

写在前面的话TreeMap类的底层实现用到了数据结构——树(红黑树),红黑树一直没有彻底搞清楚到底是怎么实现的,因为看到了它就想放弃,觉得不去理解清楚好像也没有多大影响。但是这个是最底层最基础也是最重要的知识,往往很容易被我们忽视,弄懂了底层才能发现问题的本质,死磕到底!先从数据结构开始,慢慢深入。数据结构中的一些概念数据(data)是对客观事物的符号表示,在计算机科学中是指所有能输入

2017-03-26 17:38:27 949

转载 为什么那些巨大机会,看起来都无比糟糕和不靠谱?

那个看上去不太靠谱的未来,其实已经到来。大家有没有发现一件很神奇的事情:为什么那些在事后看来的巨大机会,在一开始时都被认为是不靠谱的,疯狂的,甚至是无比糟糕的呢? 这个现象从投资领域到创业领域,几乎无处不在。最明显的例子就是电商。其实这没有过多长时间,也就是十年而已。你回想一下十来年前,也就是05、06年,那时别人跟你说网上购物,你相信吗?且不说让你网购,单单就绑定一张银行卡这个动作,

2017-03-25 22:52:51 423

原创 4对象的组合

我们不需要每次设计的类都去考虑是否线程安全,而是希望将一些现有线程安全的组件组合为更大规模的组件或程序。设计线程安全的类在设计线程安全类的过程中,需要包含以下三个基本要素:找出构成对象状态的所有变量找出约束状态变量的所有不变性条件建立对象状态并发访问的管理策略对象中的状态是有基本数据类型或者引用数据类型域构成的。//使用java监视器模式的线程安全计数器@Thread

2017-03-25 22:35:44 348

原创 3对象的共享

加锁机制既可以确保可见性又可以确保原子性,而volatile变量只能确保可见性。volatile变量的使用条件如下:对变量的写入操作不依赖变量的当前值,或者你能确保只有单个线程更新变量的值。该变量不会与其他状态变量一起纳入不变性条件中。在访问变量是不需要加锁。“发布(Publish)”一个对象的意思是指,使对象能够在当前作用域之外的代码中使用。当某个不应该发布的对象被发布时

2017-03-18 18:44:34 431

原创 2线程安全性

当多个线程访问可变的同一个状态变量没有正确的同步,那么就会出现错误,有三种方式可以修复这种错误:不在线程之间共享该状态变量将状态变量修改为不可变的变量在访问状态变量时使用同步编写并发应用程序的时候,一种准确地编程方式是:首先使代码正确运行,然后在提高代码的速度。即便如此,最好也只是当测试结果和应用需求告诉你必须提高性能,以及测试结果表明这种优化在实际环境中确实能够带来性能提升时,才

2017-03-18 11:47:03 335

原创 并发简史

计算机加入操作系统来实现多个程序的执行,主要的原因如下:资源利用率公平性,分配时间片段让每个程序都有机会运行便利性,编写多个程序计算多个任务,每个程序间相互通信,这比编写一个程序来计算所有的任务更加容易实现线程的优势线程可以有效的降低程序的开发和维护成本,同时提升复杂程序的性能。发挥计算机多处理器的强大能力建模的简单性,可以将复杂并且异步的工作流进一步分解为一组简单

2017-03-18 10:57:34 241

原创 Java源码集合类LinkedHashMap学习1

LinkedHashMap类简介LinkedHashMap类继承了HashMap类,也就是LinkedHashMap类的功能几乎和HashMap一样。而LinkedHashMap类就是扩展了一个双向链表,使得可以按照“键-值”对插入的顺序遍历,这个是在HashMap类中遍历是没有顺序的。LinkedHashMap类可以插入null的key值和value值,以及这个类也是线程不安全的。重点是要了

2017-03-12 19:14:22 233

原创 GDP破7怎么办—读书笔记

GDP        国内生产总值(英语:Gross Domestic Product,缩写:GDP)亦称国内生产毛额或本地生产总值,是一定时期内(一个季度或一年),一个区域内的经济活动中所生产出之全部最终成果(产品和劳务)的市场价值(market value)。(维基百科)假如中国经济是一家公司,我们可以粗略地认为GDP相当于这家公司的营业收入。对于投资来说讲,决定一家公司市值能

2017-03-05 20:47:37 225

原创 Java源码集合类Hashtable学习

Hashtable类简介java version "1.7.0_67"        Hashtable类继承了Dictionary抽象类,实现了Map、Cloneable、java.io.Serializable接口,它的底层实现原理和HashMap类是差不多的。Hashtable类最大的一个特点是:线程安全的,对外提供调用的方法都加了同步关键字Synchronized,但同时也降低了性

2017-03-05 19:52:31 326

原创 Java中实现深拷贝的方法—学习笔记

类实现Cloneable接口,然后用调用clone()方法,那么返回的只是一个浅拷贝的对象,基本属性的值是拷贝过来了而引用类型还是指向了被拷贝对象的引用类型。方法一:类实现一个标记接口Serializable通过IO流来实现对象的深拷贝public class Menus implements Serializable{ private static final long serialV

2017-03-05 16:37:18 3505

原创 三分钟读懂中国经济—读书笔记3

读许树泽《不可不知的经济真想》,写一点自己总结的一点读书笔记。1.从2012年开始,中国的经济告别了每年7%的增长率。这是因为房地产投资和基础设施投资导致了产能过剩,不能继续在高速增长了。2.全球的经济都慢下来了,因为经济周期和全球的人口结构所导致的。3.中国经济的消费和出口,中国由于人口结构的变化,年青劳动人口在总人口的占比不断下降,劳动力成本不断上升,企业利润不断下降,导致出口贸易

2017-02-28 23:47:26 1396

原创 Java源码集合类HashMap学习2

JDK版本7u40-b431.HashMap类实现存储数据的结构HashMap类实现存储数据的结构是数组,如下一段源码://An empty table instance to share when the table is not inflated.static final Entry[] EMPTY_TABLE = {}; //The table, resized

2017-02-22 22:24:44 262

原创 新的大航海时代,中国经济驶向何处—学习笔记2

2015年,瑞士央行宣布汇率恢复浮动汇率,欧洲央行宣布实施月度购债计划,推出了欧洲版的量化宽松政策。于是,全球经济进入了争相放水的“新大航海时代”。瑞士成为全球经济的智力风暴中心的秘密有两点:产业升级和金融的稳定。       当年的大航海时代,是因为君士坦丁堡的陷落,导致贸易的阻断,经济停滞,欧洲内部遭遇了经济引擎哑火,所以它必须孤注一掷寻求新的突围。它们开始出发,驶向未知的外部世界——大航

2017-02-22 21:26:24 434

原创 中国的创新经济—学习笔记1

创新的真正含义是创造新的需求。经济危机的本质就是过剩危机,由于需求不足导致了产品过剩——生产多了。过剩为什么会导致经济危机呢?这是因为资本逐利的天性决定的。为了获取利润,资本会不断的投资扩大再生产。而,地球村的人是有限的,人们的收入是有限,当没有更多的人能把产品消费掉,供大于求,经济就会出现危机。决定一个城市的房价的因素不光是人口的净流入和净流出,还有一个居民的收入。如果一个城市的人口净流

2017-02-20 21:39:31 295

原创 Java源码集合类HashMap学习1

Java中集合类HashMap是存储键值(key,value)对为元素的集合,键和值都是以类类型来存储,通过键(key)来获得对应的值(value)。使用HashMap集合最大的一个优点是查询值(value)的速度快。                为什么集合HashMap查询值的速度快呢?这里就要涉及到HashMap的底层实现,用了数据结构哈希表(hash table)。对与哈希表的实现原理

2017-02-19 17:32:36 465

原创 99%的java程序员都会做错的一道题

请看如下代码, 如果你能不运行得出正确答案, 那你真的超过99%的java程序员了.[本人属于最大头的那部分]public class A{ public String s = "A"; public void setS(String s){ this.s = s; } public String getS(){

2016-08-01 12:03:12 934

原创 Sql Server的存储过程基本知识

一、  存储过程简介Sql Server的存储过程是一个被命名的存储在服务器上的Transacation-Sql语句集合,是封装重复性工作的一种方法,它支持用户声明的变量、条件执行和其他强大的编程功能。存储过程相对于其他的数据库访问方法有以下的优点:(1)重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。   (2)提高性能。存储过程在创建的时候就

2015-08-12 11:06:27 398

转载 配置Java环境变量的原因

自己总结些再加抄点:安装JDK后要配置环境变量,主要有三个:1 JAVA_HOME ->为JDK的安装目录,如:F:\JAVA\jdk1.6.0_042 CLASSPATH ->到哪里找需要执行的.class文件,如: .;%JAVA_HOME%\lib; 前面是一个点[.]再加一个分号[;]再以分号结束[;] 为什么要加点[.]在编译java文件时,如javac xxx.ja

2015-07-07 12:09:54 710

转载 解决iOS的Safari浏览器解析绑定了onclick事件闪烁的问题

开发游戏公告信息网页时遇到了一个这样的问题:在iOS设备上点击绑定了onclick事件的标题会出现闪烁的问题一下是解决方法:点击与click对于a标记的点击导航,默认是在onclick事件中处理的。而移动客户端对onclick的响应相比PC浏览器有着明显的几百毫秒延迟。在移动浏览器中对触摸事件的响应顺序应当是:ontouchstart -> ontouchmove ->

2015-03-19 18:08:17 5033

原创 你适合做程序员吗

不是每个人都适合做程序员。从小学到高中,我们接受的都是应试教育,而缺对少养学生的兴趣进行培养。当我们要进入大学选择专业的时候我们茫然了,大部分同学都不知道自己喜欢什么专业,也不知道这个专业以后是做什么的!这样就会导致很多同学只能按照自己父母的意志选择专业或者看目前社会上热门专业来选择,根本没有根据爱好、兴趣考虑过自己是否喜欢这个专业,随大流的选择。没有上大学之前,高中老师都会说

2015-01-30 20:40:24 789

转载 Windows系统下用命令行编译C/C++程序过程总结

前一段时间在自学linux系统,想模仿linux命令行的方式在Windows下编译C/C++程序,摸索一段时间后总算把这个解决了!(1)先用记事本编写如下所示的代码,并另存为hello.cpp,假设其保存路径为C:\Users\Administrator\Desktop。#includeusing namespace std;int main(){ 

2015-01-26 15:06:58 757

JDK1.7的源码文件src.zip

jdk1.7源码包,导入既可以使用 版本:jdk1.7.0_25 中的src.zip文件 解压后即为java的源码

2018-05-19

空空如也

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

TA关注的人

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