简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
这个之前也了解过。现在又忘记了。再看一遍。 与普通程序不同的是,Java程序(class文件)并不是本地的可执行程序。当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java class的这部分就叫做Class Loader。 JVM本身包含了一个ClassLoader称为Bootstrap ClassL
问:为什么说java的syncronized关键字的效率很低?这是因为,java中线程是映射到操作系统的原生线程上的。如果要唤醒或者是阻塞一条线程需要操作系统的帮忙。这就需要从用户态转换到核心态。因此,状态转换需要相当长的时间。所以说syncronized关键字是java中比较重量级的操作。虚拟机本身会做一些优化。比如,在通知操作系统阻塞线程之前,加入一段自旋等待过程,避免频繁的切入到和心态中
JVM在装载class文件的时候,会有一步是将符号引用解析为直接引用的过程。那么这里的直接引用到底是什么呢?对于指向“类型”【Class对象】、类变量、类方法的直接引用可能是指向方法区的本地指针。指向实例变量、实例方法的直接引用都是偏移量。实例变量的直接引用可能是从对象的映像开始算起到这个实例变量位置的偏移量。实例方法的直接引用可能是方法表的偏移量。在《深入java虚拟机》书的第1
这两天想用虚拟机做一些文件传输代码的测试。奈何一直ping不通虚拟机。当然连接socket也连接不上。后来想了一下,或许是因为网络设置的原因(虽然修改设置之前虚拟机是可以上internet的)。于是把vmnet8 设置成自动获取ip和dns。于是,ok了...
exec选项后面跟随着所要执行的命令或脚本,然后是一对儿 {},一个空格和一个\,最后是一个分号。 cmd {} \;看例子:zoer@ubuntu:~$ awk 'BEGIN{count=10;i=0;while(i<count){cmd="touch "i".txt";i++;system(cmd)}}'zoer@ubuntu:~$ find . -name '[0-9]\.
df命令linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。df命令可以显示目前所有文件系统的可用空间及使用情形。du:查询文件或文件夹的磁盘使用空间。-h:打印格式适合人类阅读-t type:查看指定类型文件系统的磁盘使用情况。type可以使ext3、ext4等。-i:查看inode的使用情况-T:列出文件系统类型du命令如果当前
#!/usr/bin/env pythonimport osimport shutilfilelist=[]rootdir="/home/zoer/aaa"filelist=os.listdir(rootdir)for f in filelist:filepath = os.path.join( rootdir, f )if os.path.isfile(filepath):
ANY关键字:假设any内部的查询语句返回的结果个数是三个,那么,select ...from ... where a>any(...)->select ...from ... where a > result1 or a > result2 or a > result3ALL关键字:ALL关键字与any关键字类似,只不过上面的or改成and。SOME关键字:s
MySQL的FLUSH句法今天仔细看了下Flush语法,同时在工作中也经常使用Flush命令,在这儿汇总下。MySQL的FLUSH句法(清除或者重新加载内部缓存) FLUSH flush_option [,flush_option],如果你想要清除一些MySQL使用内部缓存,你应该使用FLUSH命令。为了执行FLUSH,你必须有reload权限。flush_option 可以是下列任何东西
从网上学习的时候一直看到,mysql列建议列是非null的。说是如果是允许null的列,对索引会有影响(索引不会包括有NULL值)。原文如下:尽量避免NULL:应该指定列为NOT NULL,除非你想存储NULL。在MySQL中,含有空值的列很难进行查询优化。因为它们使得索引、索引的统计信息以及比较运算更加复杂。你应该用0、一个特殊的值或者一个空串代替空值。-----------