- 博客(11)
- 资源 (4)
- 收藏
- 关注
原创 .tmux.conf设置
近期因为误操作重新安装了系统,顺便重新修改了一下自己的.tmux.conf文件,特地记录如下set -g default-terminal "screen-256color" set -g history-limit 65535# change prefix to ctrl+a set -g prefix ^a unbind ^b# select pane like vim bind k selec
2016-11-01 19:58:04 1014
原创 vim 修改2进制文件
最近在给java添加一个新的bytecode,而修改javac又不顺利,于是决定先手动修改class文件测试一下,记录使用vim的修改过程修改的时候只需要原生的vim和xxd(一个linux自带查看修改转化十六进制的小程序),之后很简单,首先,使用vim -b Test.class以二进制的方式打开class文件(否则万恶的vim会自动在文件末尾添加一个\n,影响转化结果)之后,使用vim调用内置命
2016-10-10 21:17:28 522
转载 java bytecode
转自wiki:https://en.wikipedia.org/wiki/Java_bytecode_instruction_listings Mnemonic Opcode (in hexadecimal) Opcode (in binary) Other bytes Stack [before]→[after] Description
2016-10-10 15:59:12 574
原创 Javac源代码阅读理解(未完待续)
Javac是java的编译器,负责将java源代码转化成符合java规范的ClassFile格式的字节码文件程序入口调用过程整个转化的入口在Main类中的main方法,之后调用到了JavaCompiler中的compile方法。编译器前端compile方法中首先用javacParser来进行编译器前端的工作,负责把java代码变成Token流,之后再把TokenSteam变成抽象语法书编译器后端之后
2016-10-09 21:39:23 476
原创 Eclipse编译调试javac
最近在改javac,因为是纯java的,所以比c++的hotspot好调试到不知道哪里去了,这里记录一下配环境的过程。注意:本文的方法只是能用,并不好,有好的求留言 eclipse中新建一个java项目 复制openjdk/langtools/src/share/classes里面的所有文件夹到eclipse中的新项目的src文件夹下 运行或调试,应该就直接跑得起来了 修改 把改好的javac用gi
2016-09-29 16:27:48 1056
原创 scala getOrElse的坑
今天做项目的时候被scala的getOrElse的返回类型坑了很久,特地记录如下:对于scala的getOrElse这个方法,其函数签名如下final def getOrElse[B >: A](default: ⇒ B): B /* * Returns the option's value if the option is nonempty, otherwise return the resul
2016-09-05 16:26:24 8755
转载 Scala运算符详解
运算符的本质在Scala中,真正的运算符只有直接赋值运算符(=),其他的的运算符其实都是方法(函数)。val a = 1 + 2 // 等价于 1.+(2) val b = 1 + 2 * 3 // 等价于 1.+(2.*(3))运算符的重载Scala中的运算符重载很简单,不需要多余的关键字,只要把运算符放在方法名的位置上就好了:class MyClass(val x: Int) { d
2016-08-18 02:09:32 1653
原创 sbt项目构建过慢解决办法
最近因为环境迁移的原因需要重新构建一下之前的scala项目,然而被sbt过慢折磨的要死,打了一个多小时游戏还是卡在同一个进度不动,特地研究了一下处理了一波。sbt构建过慢原因sbt是scala项目经常用到的一个工具,主要用于构建等操作。然而,sbt的构建或者初次下载等都需要很长很长的时间,主要原因如下: sbt的所有默认仓库都设在国外 从某一个版本开始sbt默认使用https访问仓库们(据说,有待考
2016-08-18 01:34:38 11653 1
原创 scala操作符优先级
scala操作符优先级 def precedence(operator: Name): Int = if (operator eq nme.ERROR) -1 else { val firstCh = operator.startChar if (isScalaLetter(firstCh)) 1 else if (nme.isOpAssignmentNam
2016-08-17 15:57:40 869
原创 为windows命令行cmd添加ls命令
作为一个使用linux为命令行启蒙,并且在linux下面写了一年作业的人来说,dir并不是很习惯。windows的powershell似乎很好地添加了ls这一命令,和dir指向一个程序。但是powershell的字体颜色和背景色等总是存在一些问题。一怒之下仍然使用原生的cmd命令行了。 解决方法很简单,在C:\Windows\System32(或者随便一个在path里面的地方)新建了一个名为l
2016-01-31 23:49:45 1996
原创 python微博爬虫编写
因为最近要做一个爬到微博中所有用户发表的微博以及所有用户的点赞、评论以及转发操作,因此学习了一下如何使用python编写微博的爬虫。为了防止后续再次用到,再加上之前在一个奇怪的地方定下了新年要写微博的新年目标,因此,特地记录了下来。 首先声明一下环境,电脑装的windows10系统,准备使用python2.7+scrapy这两样东西拼起来搞一个微博的爬虫。环境的配置python的安装 首先是
2016-01-30 23:39:34 1840
可计算理论课本(computability)
2015-01-20
基于Qt的打飞机小游戏
2014-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人