本文主要列出一些Java常用到确又让大家不怎么注意的问题. 将会不断更新,欢迎关注-- 如有觉得不合理之处,欢迎评论交流,没有火花怎么印象深刻? (1)Java到底是值传递?还是引用传递? 揪出这个问题是因为有同学说开始写博客了,于是他写怎么篇博客:Java到底是值传递?还是引用传递?,说让我看看. 我看完觉得挺合理的,马上给他回复说"不错哦".合理是合理,但是按照他的说法,那什么不是传值过去啊,都是值传递? 今天早上上班,来得比较早,就百度了一下这个问题,于是又看到了另外一篇文章:J…
一.简介 1.多线程编程要注意的几点: 安全性:永远不发生糟糕的事情 活跃性:某件正确的事情最终会发生(不会发生无限循环或者死锁) 性能:正确的事尽快发生(上下文切换消耗之类的) 二.线程安全 1.为了防止变量在线程中导致程序出错,可以有以下三种方式: 1)不在线程之间共享该状态变量 2)将状态变量改为不可变的常量 3)在访问状态变量时使用同步 3.当设计线程安全的类时,良好的面向对象技术.不可修改性,以及明晰的不变性规范都能起到一定的帮助作用.(比如:开发人员可以将状态变量保存在公开域中,而不…
1.static关键字: 在java中静态成员能够被对象和类名调用: 在C#中,静态成员只能被类调用不能被对象调用. 2.for循环: 在java中可以在for前面添加标记,然后在for循环中可以break指定标记的for循环: 而在C#中,break是跳出当前的for循环,没有标记这东西. 3.构造函数调用: 在java中,在构造函数中调用构造函数是通过"this(参数1,参数2...)"直接在构造函数的函数体中调用: 而在C#中是通过在构造函数后面 ":this(参数1.…
1.在做条件判断时,不要将变量放在判断符的左边,这样做可以防止出现空指针异常,以字符串比较为例: String name = "Tom"; //这种方式不推荐,如果变量name为空,会出现空指针异常 if(name.equals("Tom")) { //balabala.... } //推荐这种方式,调用的是"Tom"这个字符串常量的equals方法,可避免空指针异常 if("Tom".equals(name)) { //ba…
<目录> 1 创建一个简单的窗体 2 如何进行事件监听 (1) 按钮监听 (2) 键盘监听 (3) 鼠标监听 3 容器 (1) 创建一个简单的对话框 (2) 创建一个简单的模态对话框 (3) 使窗体大小不可变化 4 布局器 (1) 绝对定位 (2) FlowLayout(顺序布局器:容器上的组件水平摆放) (3) BorderLayout(边框布局器:容器上的组件按上北.下南.左西.右东.中的顺序摆放) (4) GridLayout(网格布局器:容器上的组件按网格区域摆放) (5) setPr…
继续学习数据结构递归,什么是递归呢?字面理解就是先递出去,然后回归,递归核心思想就是直接或间接调用本身,好比从前有座山,山里有位老和尚,在给小和尚讲故事,讲的是从前有座山,山里有位老和尚,在给小和尚讲故事,如此依次递出去,直到判断结束条件,然后依次回归. 我们还是通过一些例题来理解吧. 一.三角数字(递归和非递归实现) //三角数字,n+n-1 //1,3,6,10,15 public class TriangleNumber { public static void main(String[]…
  这篇文章主要介绍了Java引用和Threadlocal的那些事,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 1 背景 某一天在某一个群里面的某个群友突然提出了一个问题:"threadlocal的key是虚引用,那么在threadlocal.get()的时候,发生GC之后,key是否是null?"屏幕前的你可以好好的想想这个问题,在这里我先卖个关子,先讲讲Java中引用和ThreadLocal的那些事. 2 Java中的引用 对于很多Java初学者来说…
前言: 先说说今天为啥要谈这个东西,虽然学Java已经有两年了,但是今天,本着温故而知新的态度,仔细的第三次翻看了<Head Firt Java>这本书,虽然这本书介绍的很多东西都特别基础,但这次阅读感觉还是有不一样的收获,就像我初次邂逅Lambda表达式的感觉一样. 静态方法与非静态方法的区别: • 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式.而实例方法只有后面这种方式.也就是说,调用静态方法可以无需创建对…
1.<java程序员上班那点事>笔者对数组占用内存的描述 2.实际测试情况: /** * 测试一维数组占用内存 */ public static void testOneArray() { System.out.println("当前虚拟机的最大内存:" + Runtime.getRuntime().maxMemory() / 1024 / 1024 + "m------" + Runtime.getRuntime().maxMemory() + &qu…
java解惑之常常忘记的事 2012-10-17 18:38:57|  分类: JAVA |  标签:基础知识  软件开发  |举报|字号 订阅     针对刚接触java的菜鸟来说,java基础知识都是我们必须认真学习的,但是在工作过几年时间的老鸟来说,有时候也会对java的基础知识产生疑问,对于这种不确定,并且很容易混淆的知识点,java解惑已经为大家进行了很好的总结,现在借用一个作者的总结,进行一下罗列,希望能对你有所帮助. 1. 奇偶判断 不要使用 i % 2 == 1 来判断是否是奇数…