通过Java字节码发现有趣的内幕之String篇--引用相等性

很多时候我们在编写Java代码时,判断和猜测代码问题时主要是通过运行结果来得到答案,本博文主要是想通过Java字节码的方式来进一步求证我们已知的东西。这里没有对Java字节码知识进行介绍,如果想了解更多的Java字节码或对其感兴趣的朋友可以先阅读字节码基础:JVM字节码初探。String字面量可以通过’==’判断两个字符串是否相同,是因为大家都知道’==’是用来判断两个对象的值引用地址是否一致,两...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 2

shell中将字符串转换成数字

我有一个字符串“96.56”,怎样才能将它转换成一个小数,或者是一个整数96也行。 shell中无需转换,可以直接用作数字。转换成整数:# echo "96.56"| awk '{print int($0)}'96追问那如果我要将“.21”(这是从文件中读出来的,表示0.21)拿来与1比较大小,写在if判断中,我该怎么做?追答shell中的test语句只能用于整数判断,要判断小数用awk吧,awk...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 1

Quartz使用总结

Quartz可以用来做什么?Quartz是一个任务调度框架。比如你遇到这样的问题想每月25号,信用卡自动还款想每年4月1日自己给当年暗恋女神发一封匿名贺卡想每隔1小时,备份一下自己的爱情动作片 学习笔记到云盘这些问题总结起来就是:在某一个有规律的时间点干某件事。并且时间的触发的条件可以非常复杂(比如每月最后一个工作日的17:50),复杂到需要一个专门的框架来干这个事。 Quartz就是来干这样的事...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 3

Linux 常用命令——cat, tac, nl, more, less, head, tail, od

1. cat 由第一行开始显示文件内容2. tac 由最后一行开始显示文件内容(刚好和cat字母相反)3. nl 按行号显示文件内容4. more 一页一页翻动的读取5. less 在more基础上增加向前翻页和向前查找6.  head 只显示前几行7. tail 只显示后几行8. od 按二进制显示...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 1

动态类型语言和静态类型语言

https://www.cnblogs.com/liuning8023/p/4286044.html   动态类型语言和静态类型语言本文主要说明动态类型语言和静态类型语言。类型检查所进行的检验处理以及实行类型的约束,可发生在编译时期(静态检查)或运行时期(动态检查)。静态类型检查是在编译器所进行语义分析中进行的。如果一个语言强制实行类型规则就称此处理为强类型(或静态类型),反之称为弱类型(或动态类...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 3

Java,哈希码以及equals和==的区别

https://www.cnblogs.com/zyj-bozhou/p/6733309.html 从开始学习Java,哈希码以及equals和==的区别就一直困扰着我。 要想明白equals和==的区别首先应该了解什么是哈希码,因为在jdk的类库中不管是object实现的equals()方法还是String重写的equals()方法以及其它基本数据类型的包装类重写的euqals()方法,...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 1

java中存储机制堆栈

一、java的六种存储地址及解释 1) 寄存器(register):这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。 2) 堆栈(stack):位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 3

hive安装--设置mysql为远端metastore

作业任务:安装Hive,有条件的同学可考虑用mysql作为元数据库安装(有一定难度,可以获得老师极度赞赏),安装完成后做简单SQL操作测试。将安装过程和最后测试成功的界面抓图提交 .  已有的当前虚拟机: 总共三台虚拟机,使用CentOS。一台是NameNode,另两台为DataNode,由于搭载虚拟机的内存不是很足,所以不打算再新增一台虚拟机来另外安装mysql,所以选择其中一台datanode...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 3

查看hive配置

在启动hive时设置配置属性信息$ bin/hive --hiveconf <property=value>查看当前所有的配置信息hive > set ;hive >set hive.metastore.uris;hive (db_hive)> set system:user.name ;system:user.name=roothive (db_hive)> ...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 3

Hadoop分块与分片介绍及分片和分块大小相同的原因

概念介绍分块在HDFS系统中,为了便于文件的管理和备份,引入分块概念(block)。这里的 块 是HDFS存储系统当中的最小单位,HDFS默认定义一个块的大小为64MB。当有文件上传到HDFS上时,若文件大小大于设置的块大小,则该文件会被切分存储为多个块,多个块可以存放在不同的DataNode上,整个过程中 HDFS系统会保证一个块存储在一个datanode上 。但值得注意的是 如果某文件大小没有...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 3

Hadoop框架排序和分组的理解 GroupingComparator

MapReduce框架会确保每一个Reducer的输入都是按Key进行排序的。一般,将排序以及Map的输出传输到Reduce的过程称为混洗(shuffle)。每一个Map都包含一个环形的缓存,默认100M,Map首先将输出写到缓存当中。当缓存的内容达到“阈值”时(阈值默认的大小是缓存的80%),一个后台线程负责将结果写到硬盘,这个过程称为“spill”。Spill过程中,Map仍可以向缓存写入结果...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 1

hadoop groupingComparator 与 secondary sort

https://blog.csdn.net/groovy2007/article/details/44408583《hadoop权威指南》里的例子:有许多气象记录,需要找出每年的最高温度,通过secondary sort实现。(这个任务其实没有必要使用secondary sort,这里只是为了演示)map-reduce的shuffle阶段,只会根据key进行排序,而同一个key的value是无序的...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 3

认识cpu、核与线程

https://www.cnblogs.com/-new/p/7234332.htmlcpu与核心物理核物理核数量=cpu数(机子上装的cpu的数量)*每个cpu的核心数虚拟核所谓的4核8线程,4核指的是物理核心。通过超线程技术,用一个物理核模拟两个虚拟核,每个核两个线程,总数为8线程。在操作系统看来是8个核,但是实际上是4个物理核。通过超线程技术可以实现单个物理核实现线程级别的并行计算,但是比不...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 1

上下文切换

上下文切换(Context Switch),也称为PCB,性质为环境切换。上下文切换,有时也称做进程切换或任务切换,是指CPU 从一个进程或线程切换到另一个进程或线程。中文名上下文切换外文名Context Switch性质切换进程控制块也称为PCB简介上下文切换(Context Switch) 或者环境切换在操作系统中,CPU切换到另一个进程需要保存当前进程的状态并恢复另一个进程的状态:当前运行任...
分类: 其他 发布时间: 06-10 22:07 阅读次数: 3

指针加减法

分类: 其他 发布时间: 06-10 22:07 阅读次数: 3

递归法

分类: 其他 发布时间: 06-10 22:07 阅读次数: 1

scanf返回值

scanf 函数返回值问题 scanf函数同printf函数一样是有返回值的,可以分成三种情况   (1) 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b);        如果用户输入"1 2",可以正确输入,返回2(正确输入了两个变量);       如果用户输入"1,2",可以正确输入a,无法输入b,返回1(正确输入了一个变量)。   (2)
分类: 其他 发布时间: 06-10 22:07 阅读次数: 1

C语言编程需要注意的64位和32机器的区别

from:http://blog.163.com/tianle_han/blog/s 一、数据类型特别是int相关的类型在不同位数机器的平台下长度不同。C99标准并不规定具体数据类型的长度大小,只规定级别。作下比较: (1)16位平台 char         1个字节8位 short        2个字节16位 int            2个字节16位 long    
分类: 其他 发布时间: 06-10 22:07 阅读次数: 3

Linux(一)Linux文件权限

一.Linux文件属性 ls –al:列出所有的文件详细的权限与属性(包括隐藏文件文件名第一个字符为“.”的文件) 1.文件属性 2.权限permission 文件类型: (1) - 普通文件 (2) d目录文件 (3) p管道文件 (4) l链接文件(软链接硬链接) (5) c字符设备文件 (6) b块设备文件 (7) s套接字 2.连接(i-n
分类: 其他 发布时间: 06-10 22:07 阅读次数: 3

定长顺序表

一个线性表是n个数据元素的有限序列,分为顺序表和链表。顺序表指用一组地址连续的存储单元依次存储线性表的数据元素,即逻辑相邻,物理也相邻;链表指用一组任意的存储单元存储线性表的数据元素,即逻辑相邻物理不相邻。 (1)存在唯一的一个被称作“第一个”的数据元素 (2)存在唯一的一个被称作“最后一个”的数据元素 (3)除第一个外,集合中的每一个数据元素只有一个前驱 (4)除最后一个外,集合中的每一
分类: 其他 发布时间: 06-10 22:07 阅读次数: 1
今日推荐