自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

itaha的博客

一个不甚专业的IT谋生者

  • 博客(15)
  • 收藏
  • 关注

原创 笔记摘抄-什么是进程?

经典定义:一个执行中程序的实例系统中的每个程序都运行在某个进程的上下文中。上下文是由程序正确运行所需的状态组成。这个状态包括存放在内存中的程序的代码和数据,它的栈、通用目的寄存器的内容、程序计数器、环境变量以及打开文件描述符的集合。——选自《深入理解计算机系统(第三版)》进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,线程则是进程的一个执行路径,一个进程中至...

2019-10-27 22:19:11 174

原创 clojure构件-元数据应用

Java类型提示在Clojure中调用Java方法时,常常遇到Java类型提示这种元数据,保存在元键 :tag中。因使用频繁,所以有自己的读取器宏:^symbol通过上图可知,定义了方法string-length,方法类其实是调用Java字符串的length方法。定义了两次string-length方法,不同之处在于第二次通过元数据,显式的指明了参数的Java类型。对于Clojure来说,并...

2019-10-27 21:17:15 176

原创 clojure构件-元数据

元数据元数据是“关于数据的数据”。Clojure支持用其他数据来标记数据(例如映射、列表和向量),而不改变被标记数据的值。这意味着具有不同元数据的相同值在比较时仍是相等的。元数据总是映射用法:使用with-meta绑定上图定义了变量font-meta,绑定了元数据信息:meta1和:meta2使用简写方法:**^{}**读取器宏来定义元数据上述两种定义元数据的方法除了形式...

2019-10-20 22:47:27 156

原创 MySQL-MySQL架构与历史

MySQL逻辑架构连接管理与安全性每个客户端连接在服务器都拥有一个线程,这个连接的查询都在这个线程中进行,而服务器会事先缓存这些连接,以便于客户端连接时,不用新建或销毁连接连接时,会对其进行用户名和密码的验证,通过后,还会验证其基于某个特定查询的权限优化与执行MySQL会解析查询,建立自己的数据结构,并对其进行各种优化,包括重写查询、读取表的顺序以及选择合适的索引等,用户可以通过关键字...

2019-10-17 14:33:51 115

原创 clojure-程序流程二

函数式循环whileloop/recurClojure没有传统的for循环,程序可以通过使用高阶函数实现类似的行为Clojure版本的循环流程使用loop和recur上图定义了一个函数fact-loop传入参数n然后loop循环首先通过let形式,将n绑定到current,将1绑定到fact之后通过if判断current是否等于1等于1则返回fact如果不等于1...

2019-10-15 23:30:23 109

原创 clojure-程序流程一

条件ifif形式接受一个测试表达式,对其求值以确定下一步操作if-notcondwhen,相当于if和隐含的dowhen-not逻辑函数and接收0个或多个形式,按顺序求值,如果任何一个返回false或nil,则返回该值,如果所有形式都不返回false或nil,则返回最后一个形式的值or接收0个或多个形式,按顺序求值,如果任何一个返...

2019-10-13 21:20:40 87

原创 clojure-程序结构

函数Clojure是一种函数式语言,则意味着函数:动态创建作为参数传递给函数从其他函数中返回作为值保存在其他数据结构中函数定义,使用宏:defn,也可以拆分为def 、fn,fn也用于定义匿名函数可变参数数量,参数列表中使用**&**符号let形式,将符号和某个值绑定,从而引入局部变量do的副作用对于函数来说,唯一的行为就是计算一个值并返回。调...

2019-10-08 22:52:43 130

原创 "深入拆解java虚拟机"笔记-Java的基本类型

严格来说,Java不算是纯粹的面向对象语言,它引入了八个基本类型,来支持数值计算,因为这能在执行效率以及内存使用上有所提升。在Java虚拟机中,boolean类型被映射成int类型,false为0,true为1。这是一个正向的映射过程,不能反向认为0为假,1为真,除非你直接修改字节码文件,否则不能逆向推Java的基本类型都有对应的值域和默认值在局部变量区中,boolean char byt...

2019-10-08 21:39:54 100

原创 clojure-数据结构

nil、真值和假值Clojure的nil等价于Java中的null和Ruby中的nil。在nil值上调用一个函数可能导致NullPointerException异常除了false和nil之外,其他都被视为真值字符和字符串Clojure使用读取宏反斜杠来表示字符,如\a或\b字符串使用双引号表示数值大部分时候,在Clojure中使用的数值都是64位整数或64位浮点数。范围较小的...

2019-10-07 17:04:43 295

原创 "深入拆解java虚拟机"笔记-Java代码是怎么运行的

为什么java要在虚拟机里运行?语法非常复杂,抽象程度很高。直接在硬件运行不现实,因此需要转换通过编译器将Java程序转换成虚拟机所能识别的指令序列-Java字节码。虚拟机执行时,转换成机器识别码虚拟机的好处在不同系统平台上提供软件形式的虚拟机,一旦程序被编译成字节码,则就能实现“一次编写,到处运行”带来了一个托管环境,提供了各种处理自动内存管理和垃圾回收数组越界、动...

2019-10-03 18:11:52 92

原创 "深入拆解java虚拟机"笔记-为什么要学习java虚拟机

我如何学会停止恐惧,并且爱上java虚拟机学习java虚拟机的本质,更多是了解java程序是如何被执行且优化的了解java虚拟机有以下好处:java虚拟机提供了许多配置参数,我们可以最优化匹配运行参数java虚拟机本身是一种工程产品,会存在一些bug。学习它,可以规避bug,甚至找出问题来源java虚拟机拥有最前沿、最成熟的垃圾回收算法实现,以及即时编译器实现。学习它,了解背后的设...

2019-10-01 19:44:04 135

原创 clojure-初始介绍

clojure是一门基于jvm平台的函数式编程语言,是lisp方言的一种,继承了lisp的大部分风格,且能够和java进行调用,被称为现代化的lisp语言交互式命令行REPLR(read)、E(evaluate)、P(print)、L(loop)clojure程序通常不需要一次性全部输入,而是通过REPL能够输入一个表达式代码则可以立刻验证REPL启动安装jdk,版本1.7+...

2019-09-28 22:21:10 635

原创 近期读书计划

沉淀才是最好的爆发这是最近突然福至心灵而体会到的一句话,因此给自己定个长期分步骤的读书计划,每次读书以一季度3个月为限,读书量不超过三本(说实话,三本拿不准能不能读完,以第一次读完后的结果衡量)每3个月做一次读书总结,期间读书笔记若干。就这样吧,算是立个flag,此篇博客也会一直跟踪记录后续每次的读书书单和调整的计划2019.03.36书单Java并发编程实战鸟哥的Linux私...

2019-03-26 22:20:29 160

原创 docker容器——springboot项目发布成jar包

# springboot项目打jar包对于打jar包运行,我一开始以为只要使用ide的导出功能,导出为可执行的jar包文件就行了,但是实际上,却出现了似乎解决不了的问题。使用的ide是spring tool suit,导出的jar在java -jar命令运行时,报错提示:没有主属性清单对于这个错误,其实网上的解决方法已经很有很多了,我这里只是列举下原因和应该有效的解决方法:这个问题99%的...

2018-12-22 23:36:14 942

原创 go语言学习 笔记1

学习一门编程语言,对于我来说,利益一点是为了挣钱,高尚一点是为了体会不同语言之间的设计思想的区别和相同,以此来训练自己的思维。对于已经习惯了java的我来说,思维的训练对我来说,尤其重要。因此开始学习这门语言,希望在这门语言早期发展的时间里,能有一个相对好的学习历程

2018-11-17 00:00:49 142

空空如也

空空如也

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

TA关注的人

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