1 Java运算符 Java世界中的运算其实就是数学运算,而运算符就是其中的媒介. 算术运算符 操作符 描述 + 加法,对符号两边的数值相加 - 减法,符号左边的数减去右边的数 * 乘法,符号两边的数值相乘 / 除法,符号左边的数除以右边的数 % 取模,符号左边的数除以右边的数所得的余数 ++ 自增,操作数的值加1 -- 自减,操作数的值减1 下面简单的例子演示算术运算符: public class MyFirst { public static void main(String[] args)…
1 Java标识符 在Java语言中,有类.对象.方法.变量.接口和自定义数据类型等等,他们的名字并不是确定的,需要我们自己命名.而Java标识符就是用来给类.对象.方法.变量.接口和自定义数据类型命名用的. 命名规则说明: 标识符可以由字母.数字.下划线(_).美元符($)组成,但不包含@.#.空格等其他特殊字符,不能以数字开头.例如:1name 是不合法的.注意:Java标识符是可以允许中文命名的,因为Java内部使用了Unicode字符集. 标识符不能是Java关键字和保留字(Java预留…
一,按钮 注意:虽然在Bootstrap框架中使用任何标签元素都可以实现按钮风格,但个人并不建议这样使用,为了避免浏览器兼容性问题,个人强烈建议使用button或a标签来制作按钮. 框架中提供了基础按钮的例子: <button class="btn" type="button">基础按钮.btn</button> <button class="btn btn-default" type="button&qu…
http://www.importnew.com/28263.html 今天发一篇”水文”,可能很多读者都会表示不理解,不过我想把它作为并发序列文章中不可缺少的一块来介绍.本来以为花不了多少时间的,不过最终还是投入了挺多时间来完成这篇文章的. 网上关于 HashMap 和 ConcurrentHashMap 的文章确实不少,不过缺斤少两的文章比较多,所以才想自己也写一篇,把细节说清楚说透,尤其像 Java8 中的 ConcurrentHashMap,大部分文章都说不清楚.终归是希望能降低大家学习…
为什么HashMap会出现死循环 首先,我们知道java的HashMap不是线程安全的.多线程下应该使用ConcurrentHashMap. HashMap底层是基于动态数组和单向链表(JDK1.7,JDK1.8链表长度超过8会转成红黑树).我们知道链表比较容易形成闭合的环,如果链表形成闭合的环,这个时候get,将会陷入死循环. 如何形成闭合链表? 后面再补...…
https://www.cnblogs.com/chengxiao/p/6059914.html  散列表 哈希表是根据关键码值而直接进行访问的数据结构.也就是说,它能通过把关键码值映射到表中的一个位置来访问.这个映射函数就叫做散列函数,存放记录的数组就叫散列表. 给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数. 在哈希表中进行添加,删除,查找等操作,性能十分之高…
 HashMap和HashSet的区别 1.HashMap实现的是Map接口,HashSet实现的是Set接口 2.结构不一样,一个存储的是键值对,一个存储的是对象 3.HashMap存储的值可能相同,HashTable存储的值不能相同,但由于hashcode是存在重复的,所以,存放的对象有可能相同.(这个最大大作用是警示我们不能用hashset来对对象去重,而应该用hashmap或者其他hash算法)…
HashMap和HashTable的区别 1.继承的父类不同,HashMap继承的是AbstractMap类,HashTable继承的是Dictionary类,不过都实现了Map.Clone.Serializable三个接口.其中Dictionary类中注释说是一个被废弃的类,建议实现Map接口,如下图: * NOTE: This class is obsolete. New implementations should * implement the Map interface, rather…
 ArrayList和Vector的区别 ArrayList和Vector都是基于动态数组实现的.  区别 ArrayList是非线程安全的,Vector是线程安全的. Vector的方法都加了同步锁Synchronized,因此相对于ArrayList性能较低. ArrayList扩容时每次增加50%,Vector每次增加一倍,因此,ArrayList更节省内存空间…
 Arraylist 与 LinkedList 区别  结构上的区别 ArrayList底层实现基于动态数组,LinkedList底层实现基于双向链表.  性能上区别 ArrayList查询快,增删慢,LinkedList增删快,查询慢 ArrayList和LinkedList都是非线程安全的 遍历列表:     常用的遍历列表有三种方法,分别为foreach.迭代器.for循环     构造一个拥有100万数据的ArrayList和等价的LinkedList,测试结果的相对耗时如下表所示: L…
 List.Set.Map区别 三者关系如下: 结构特点 1.List和Set是存储单列数据集合,Map是存储键值对这样的双列数据集合: 2.List中存储的数据都是有序的,并且允许重复:Map中存储的数据是无序的,它的键是不允许重复的,值可以重复:Set存储的数据是无序的,并且不允许重复,元素在集合中的位置,是由元素的hashCode决定,位置是固定的.  实现类 1.基于List接口实现的类.      1.linkedList         基于链表实现,链表内存是散列的,增删快,查询慢…
http://www.matlabsky.com/thread-43937-1-1.html   <量化投资:以MATLAB为工具>连载(3)基础篇-N分钟学会MATLAB(下)     <量化投资:以MATLAB为工具>简介          <量化投资:以MATLAB为工具>是由电子工业出版社(PHEI)下属旗舰级子公司——北京博文视点资讯有限公司出版的<量化投资与对冲基金丛书>之一,丛书主编为丁鹏博士,<量化投资:以MATLAB为工具>由李…
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&32 物联网开发 群号622368884,不喜勿喷 一.你如果想学基于Arduino的ESP8266开发技术 一.基础篇 ESP8266开发之旅 基础篇① 走进ESP8266的世界 ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境 ESP8266开发之旅 基础篇③ ESP826…
[转]Shell编程基础篇-下 1.1 条件表达式 1.1.1 文件判断 常用文件测试操作符 常用文件测试操作符 说明 -d文件,d的全拼为directory 文件存在且为目录则为真,即测试表达式成立 -f文件,f的全拼为file 文件存在且为普通文件则为真,即测试表达式成立 -e文件,e的全拼为exist 文件存在则为真,即测试表达式成立.注意区别于“-f”,-e不辨别是目录还是文件 -r文件,r的全拼为read 文件存在且可读则为真,即测试表达式成立 -s文件,s的全拼为size 文件存在且…
bt协议详解 基础篇(下) 最近开发了一个免费教程的网站,产生了仔细了解bt协议的想法,所以写了这一篇文章,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的技术,敬请期待. 1 简介 bt是BitTorrent协议的简称,bt协议是最流行的p2p下载协议,另外一种比较流行的p2p下载协议叫ed2k,ed2k的全称叫eDonkey2000 network,这里我们只讨论bt协议,ed2k协议以后有机会再和大家分享. 相信很多人都听说过bt协议.但是当我问周围的人究竟什么是bt…
第1章.基础篇(下) Abstract: 数据通信.数据存储.动画.音频与视频.canvas.BOM.表单操作.列表操作 数据通信(HTTP协议) HTTP事务: 客户端向服务器端发送HTTP请求报文:服务器端接收到HTTP请求报文后,经过处理,向浏览器返回一个包含事务结果的HTTP响应报文 请求报文: i.e. 请求行:GET music.163.com HTTP/1.1 请求方法   主机地址   HTTP版本 请求头:由很多键值对构成 Accept:浏览器端可接受的媒体类型 Accept-…
[WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285人阅读 评论(1) 收藏 举报  分类: Webkit(34)  JavascriptCore/JIT(3)  版权声明:本文为博主原创文章,未经博主允许不得转载. 看到HorkeyChen写的文章<[WebKit] JavaScriptCore解析--基础篇(三)从脚本代码到JIT编译的代码实现>…
深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle一些常见问题进行一一介绍: 理解Gradle与android app之间的关系,以及Gradle需要构建的build文件. 在Android Studio中执行Gradle命令. 在Android app添加java库文件. 将eclipse工程导入Eclipse ADT工程 如何为一个APK文件进…
转载请注明出处:CN_Simo. 题解: 本篇内容主讲Qt应用从创建到发布的整个过程,旨在帮助读者能够快速走进Qt的世界. 本来计划是讲解Qt源码静态编译,如此的话读者可能并不能清楚地知道为何要静态编译,所以借此篇内容说明一下原由并为之后文章的学习做准备. 即使本片内容只是在围绕一个小小的HelloWorld程序开展,但还是希望朋友们不要急于求成,“欲速则不达”. 文章整体思路: 我们循序渐进地来看,一个Qt应用的完成有以下一个重要的步骤: 项目创建->源码编译->程序运行->发布程序…
看到HorkeyChen写的文章<[WebKit] JavaScriptCore解析--基础篇(三)从脚本代码到JIT编译的代码实现>,写的很好,深受启发.想补充一些Horkey没有写到的细节比如字节码是如何生成的等等,为此成文. JSC对JavaScript的处理,其实与Webkit对CSS的处理许多地方是类似的,它这么几个部分: (1)词法分析->出来词语(Token): (2)语法分析->出来抽象语法树(AST:Abstract Syntax Tree): (3)遍历抽象语法…
krkr基础篇是我根据krkr的官方教程总结而来 推荐代替记事本的工具:editplus,点我下载 激活码:Vovan 3AG46-JJ48E-CEACC-8E6EW-ECUAW 一:创建新工程 1:打开Wizard.exe建立新工程文件,Config设定文件的初始设定有两种方法,第一是在建立新工程文件时勾选运行KAGConfig进行配置 第二是找到创建的工程文件,在Data子目录下有一个名为Config.tjs的文件,可以直接在里面修改相关属性 2:生成的新工程文件包括两部分,分别是krkr.…
刚看了篇文章 <Linq的Distinct太不给力了>,文中给出了一个解决办法,略显复杂. 试想如果能写成下面的样子,是不是更简单优雅 var p1 = products.Distinct(p => p.ID); var p2 = products.Distinct(p => p.Name); 使用一个简单的 lambda 作为参数,也符合 Linq 一贯的风格. 可通过扩展方法实现: Distinct 扩展方法 首先,创建一个通用比较的类,实现 IEqualityComparer…
nodeJs 基础篇整合 最近有朋友也想学习nodeJs相关方面的知识,如果你是后端想接近前端,node作为一门跑在服务端的JS语言从这里入门再好不过了.如果你正好喜欢前端,想走的更高,走的更远.nodeJs同样也是不二之选.node的地位虽然在实战项目中运用的不是很多,但也不能否认它在处理高并发,服务端渲染,前端自动化方面的优势.总而言之.如果你是个自学能力很强的人.请来到这里学习.让我们一起去打开node的世界,游走于前端与服务端之间.你如果能掌握如下知识那么你的node基础功底将会十分强大…
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 [https://github.com/h2pl/Java-Tutorial](https://github.com/h2pl/Java-Tutorial) 喜欢的话麻烦点下Star.Fork.Watch三连哈,感谢你的支持. 文章首发于我的个人博客: [www.how2playlife.com](https://github.com/h2pl/Java-Tutorial) 本文是微信公众号[Jav…
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&32 物联网开发 群号622368884,不喜勿喷 一.你如果想学基于Arduino的ESP8266开发技术 一.基础篇 ESP8266开发之旅 基础篇① 走进ESP8266的世界 ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境 ESP8266开发之旅 基础篇③ ESP826…
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&32 物联网开发 群号622368884,不喜勿喷 一.你如果想学基于Arduino的ESP8266开发技术 一.基础篇 ESP8266开发之旅 基础篇① 走进ESP8266的世界 ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境 ESP8266开发之旅 基础篇③ ESP826…
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&32 物联网开发 群号622368884,不喜勿喷 一.你如果想学基于Arduino的ESP8266开发技术 一.基础篇 ESP8266开发之旅 基础篇① 走进ESP8266的世界 ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境 ESP8266开发之旅 基础篇③ ESP826…
Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写Python语言的编译器.Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus.然后这个新语言就叫python,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言. 1991年,第一个Python编译器诞生.它是用C语言实…
学于黑马.传智播客.尚硅谷 感谢 黑马官网 传智播客官网 尚硅谷官网 微信搜索"艺术行者",关注并回复关键词"linux"获取视频和教程资料! b站在线视频 第一章 Linux介绍 1.1 内容介绍 基础篇: Linux入门 > 工具软件 > Linux目录结构 实操篇: Vi和Vim编辑器 > 开机.重启和用户登陆与注销 > 用户管理 > 实用指令 > 定时任务调度 > 磁盘分区.挂载 > 网络配置 > 进程管…
第1章 Linux 开山篇-内容介绍 本套 Linux 课程内容 Linux 主要应用领域:服务器 第2章 Linux 基础篇-Linux 入门 Linux 之父 Linus Torvalds Git 创作者 Linux 0.01版作者,代码不到一万行 Linux 主要发行版 Ubuntu, RedHat, CentOS, Debain, Fedora Unix 与 Linux 的关系 第3章 Linux 基础篇-VMare 和 CentOS 的安装 VMare 15.5 安装包:https:/…