2015-04-11一些知识点

1、一个小程序,关于Java值传递和引用传递的:

package com.lk.B;

public class Test1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Test1 t = new Test1();
        t.first();
    }
    public void first(){
        int i = 5;
        Value v = new Value();
        v.i = 25;
        second(v,i);
        System.out.println(v.i);
    }
    public void second(Value v , int i){
        i = 0;
        v.i = 20;
        Value val = new Value();
        v = val;
        System.out.println(v.i+" "+i);
    }
}

class Value{
    public int i = 15;
}

2、RandomAccellFile是比较不寻常的类,它直接继承与Object,它并不属于Streams结构的一部分。

3、Java编程思想里面有个关于值传递和引用传递的经典的解释:如果Java是传值,那么传递的是值的副本;如果Java是传引用,那么传递时引用的副本。

即不管Java参数的类型是什么,一律传递参数的副本。

下面有三个例子:

package com.lk.B;

public class Test2 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        boolean test = true;
        System.out.println(test);
        test(test);
        System.out.println(test);
    }
    public static void test(boolean test){
        test = !test;
        System.out.println(test);
    }

}
true
false
true
package com.lk.B;

public class Test2 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        StringBuffer sb = new StringBuffer("Hello");
        System.out.println(sb);
        test(sb);
        System.out.println(sb);
    }
    public static void test(StringBuffer sb){
        sb.append(",World!");
    }

}
Hello
Hello,World!
package com.lk.B;

public class Test2 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String s = "Hello";
        System.out.println(s);
        test(s);
        System.out.println(s);
    }
    public static void test(String s){
        s = "World";
    }

}
Hello
Hello

对于String类型,String类是final的,因此,不能继承和修改这个类。是s = “World”是隐含地让Java生成一个新的String对象。既然对象都是新的,那就和原来的“Hello”没有任何关系。当函数结束,s作用消失,原来的内存地址上的内容未加改变,所以打印的结果仍然是Hello。

4、当读取的问价是一个比较大的文本文件(很多字节数的文本文件),那么就要考虑到BufferedReader这个类。

new BufferedReader(new InputStreamReader(new FileInputStream("file.name")));

5、一个字符串写入文件的例子:

package com.lk.B;

import java.io.FileOutputStream;
import java.io.IOException;

public class Test2 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream("FileName.txt");
            fos.write("字符串写入文件".getBytes());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally{
            try {
                fos.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

6、看到一个判断是一个数是不是2的阶次方数。

一个非常机智的算法:如果一个数是2的阶次方数,那么它的二进制数的首位一般是1,后面接若干个0.比如8就是1000,64就是1000000.如果将这个数减1,再与该数做和(&)运算,则应该全为0.(例如:8与7,一个二进制数是1000,一个二进制数是111,它们做和运算后全为0)。所以((d-1)&d)==0。

package com.lk.B;

public class Test3 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a = 256;//2,4,8,16,32,64,128,256...
        System.out.println((a-1)&a);//输出0
    }

}
时间: 2024-12-18 01:51:39

2015-04-11一些知识点的相关文章

2015.04.11

又过去了一个月,从去年就开始考虑的跳槽事情,在过去的一个月终于算是定下来了. 换了份据说是可以专注搞linux内核和驱动开发的工作,实际的情况由于还没有过去,就不得而知了.回头看看去年还是15W的年薪的念想,其实没有跳槽的去年收入已经超过了16W了.今年如果还继续待着超过20W应该是轻松的,但是梦想还是要有的,新工作的工资反正是到不了20W了.鱼与熊掌不可兼得,就这样子吧. 因为现在的公司,带了新人正好会干活了,然后又刚升了小主管,所以离职交接倒是比较轻松,反正手头没有具体的事情,不过这几天倒是

周记 2015.04.11

1. 利用eclipse关联源码: 右键项目 -- Build Path -- Configure Build Path -- Java Build Path -- Libraries -- 选择你的jar包 -- 点开左边的+号 -- 选择Source attachment -- Edit -- Browse -- 选择你的源码 2. Math.abs(数值表达式)是用来求数值的绝对值的 3. 从32个0,到32个1这是整形的范围,首位0表示正数,1表示复数.所以最大值就是0111 1111

WINDOWS 10 企业版LTSB 2015年11月补丁更新情况

WINDOWS 10 企业版LTSB 2015年11月补丁与其他WINDOWS 10版本自动更新KB3105213,按微软对LTSB的规划,LTSB不会轻易增加新功能,所以不会收到其他版本推送的1511更新包,安装这个KB3105213不会改变LTSB内部版本号,LTSB目前内部版本号还是10240, 不会更新到10586版本. LTSB的内部版本按以前的官方说明,一年只会升级一次

[野狐行][2016/04/11][群直播系列2][那些年让我们郁闷不已的游戏保护]

最近应广大朋友的建议,增加群内直播系列,主要内容包括不仅限于“辅助行业探讨,内幕揭秘,行业八卦”.每周周末,群内直播系列:1.2016/04/02 第一期下载地址: http://pan.baidu.com/s/1bpnwPeZ 2.2016/04/11 第二期下载地址: http://pan.baidu.com/s/1nvs22xj

微软批量授权版WINDOWS 10资料(截至到2015年11月,此处无下载地址)

微软批量授权版WINDOWS 10资料: 1.专业版: Windows 10 专业版(2015 年 7 月发布) WINDOWS 10专业版简体中文,32位/64位 SW_DVD5_Win_Pro_10_32BIT_ChnSimp_MLF_X20-25545.ISO SHA1:0F2F67F5120ED26D28C5C15575275843C0D6CB38 SW_DVD5_Win_Pro_10_64BIT_ChnSimp_MLF_X20-25549.ISO SHA1:A21F4E551ABAC2

《软件测试管理公开课》2015.8.7~8 深圳 2015.8.11~12 北京 2015.8.18~19上海,欢迎报名!

课时:13小时(2天) 在软件开发流程中构筑软件质量 --软件测试管理     2015.8.7~8 深圳 2015.8.11~12 北京 2015.8.18~19上海   [课程背景] 据中国软件行业协会研究报告显示,2010年1-11月,我国软件业呈快速增长态势,同比增长30%,增速比去年同期提高8.6个百分点,软件产业已成为中国高科技发展重要支柱之一,但中国软件产品质量保证手段以及测试流程和管理的规范性,与国外同行(美国.印度等)存在较大的的差距.      在软件业较发达的国家, 软件测

2015年11月数据安全漏洞分析报告

报告核心观点 1.千帆过尽,SQL注入仍"不改" 2.本月金融业漏洞增长尤为突出 3.11月常见数据泄露原因分析 4.解决弱口令安全建议 报告正文 2015年11月,安华每日安全资讯总结发布了126个数据泄密高危漏洞,这些漏洞分别来自乌云.补天.漏洞盒子等平台,涉及8个行业,公司机构.互联 网.交通运输.教育.金融.能源.运营商.政府.漏洞类型涉及,SQL注入.系统漏洞.弱口令等7类,其中SQL注入仍然是漏洞类型的重灾区. 千帆过尽,SQL注入仍"不改" 数据安全问

Mosek.ApS.Mosek.v7.1 MOSEK数学优化软件包/线性分析HEEDS.MDO.2015.04.2

Mosek.ApS.Mosek.v7.1 MOSEK数学优化软件包Mosek.ApS.Mosek.v7.1.Win32_64 2CD Mosek.ApS.Mosek.v7.1.Linux32_64 2CD Mosek.ApS.Mosek.v7.1.MacOSX 1CDMosek Optimization Tools 是一款MOSEK优化软件包,是一款用来解决大规模级别数学优化问题的软件.MOSEK提供了特定解决线性编程.混 合整数编程以及其它非线性转换优化问题.+++++++++++++++++

Get back Typing Break in Ubuntu 12.04 & 11.10(转载)

转自:http://ubuntuguide.net/get-back-typing-break-in-ubuntu-12-04-11-10 Since Ubuntu 11.10 Oneiric, the typing break has gone away from “System Settings -> Keyboard”. It’s been split out into an app called DrWright. This tutorial shows how to install D

20172319 2018.04.11 《Java程序设计教程》第7周课堂测验(补写博客)

20172319 2018.04.11 <Java程序设计教程>第7周课堂测验 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王志强 日期:2018.04.11 必修/选修:必修 目录 测试内容 测试要求 实验步骤 前期准备 需求分析 代码实现及解释 程序运行结果及代码截图 测试过程及遇到的问题 参考资料 测试内容 完成编程项目PP7.4:具体参考<java程序设计教程>(第八版) Compareble接口的实现 测试要求