为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Java入门第三季_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季

陈码农
难度入门
时长 5小时 0分
  • 线程的安全问题 1: 线程安全是指:多个线程同时操作数据对象(变量)时,结果和单个线程一样。例如: String a = "aaa"; 同时开两个线程操作a: 线程1: b = a.append("bb"); 线程2: c = a.append("cc"); 线程安全的结果是:b = aaabb c=aaabbcc; 非线程安全的结果是: b= aaabb c=aaacc; 也可能是b = aaabb c=aaabbcc; 2: 线程安全一般是以加锁为代价换取的,即:当一个线程操作时把对象锁住、等它操作完毕后再让其它线程操作(实际中有一些更好的实现,但大体原理如此)。而非线程安全就不需要考虑这种情况,所以性能会高一些。
    查看全部
  • sort排序字符串按第一个位置从a~z顺序,然后第二位, 其他:1.数字:0-9 2.大写字母:A-Z 3.小写字母:a-z
    查看全部
  • // 定义double类型变量 double a = 91.5; // 手动装箱 Double b = new Double(a); // 自动装箱 Double c = a; System.out.println("装箱后的结果为:" + b + "和" + c); // 定义一个Double包装类对象,值为8 Double d = new Double(87.0); // 手动拆箱 double e = d.intValue() ; // 自动拆箱 double f = d ;
    查看全部
  • 如何判断List或者Set集合中是否包括某个实例对象——contains() contains的原理是分别调用每个元素的equals方法; 因此只需要在课程类里重写equals方法,就可以通过contains判断是否包含名称为某个值的元素
    查看全部
  • Entry是Map的一个内部类,Set<Entry<String,Student>> entrySet = students.entrySet(); Map增删改查: 增:map的put(key,value)方法添加。 查:1.利用keyset()方法获得Map中key的集合,再遍历key的集合,利用Map的get(key)方法得到key对应的value值。 2.利用EntrySet方法获取May中Entry对象集:然后用foreach遍历集,再用Entry集的getkay()和getvalue()方法得到每一个key值和value值。 删:remove(object key) 改:put(原有的key,新的value) 通过entrySet可以返回Map中的所有键值对 Set<Entry<String,Student>>entrySet = students.entrySet();
    查看全部
  • //1.通过Collections.sort()方法,对Integer泛型的List进行排序 //创建一个Integer泛型的List,插入十个100以内的不重复随机整数 //调用Collections.sort()方法对其进行排序 public void testSorts1(){ List<Integer>integerList=new ArrayList<Integer>(); Random random=new Random(); for (int i=0;i<10;i++){ do{ k=random.nextInt(100); }while(integerList.contains(k)); integerList.add(k); System.out.println("成功添加整数:"+k); } System.out.println("----排序前----"); for(Integer interger:integerList){ System.out.println("元素:"+integer); } Collections.sort(integerlist); for(Integer interger1:integerList){ System.out.println("元素:"+integer1); }
    查看全部
  • 思考: 在课程序列中,如何判断是否包含某门或者某几门课程? 如果课程序列包含某门课程,如何判断该课程的索引位置? 在学生映射表中,如何判断是否包含某个学生id? 又该如何判断是否包含某个学生对象?
    查看全部
  • 捕捉异常时应该按照先子类后父类的顺序来编写。
    查看全部
  • 检查异常,需要手动添加try catch 的语句。
    查看全部
    0 采集 收起 来源:Java异常简介

    2015-06-25

  • 非检查异常,通常是代码编写出现问题。
    查看全部
    0 采集 收起 来源:Java异常简介

    2015-06-25

  • Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法 Map支持泛型,形式如:Map<K,V> HashMap类 HashMap是Map中的一个重要的实现类,也是最常用的,给予哈希表实现 HashMap中的Entry对象是无序排列的 Key值和Value值都可以为Null,但是一个HashMap只能有一个key值为Null的映射(key值不可重复) student.get(ID)是采用Map的get()方法,检测是否存在值为ID的学生,如果没有,则返回null. keySet()方法,返回所有键的Set集合。 取得Map的容量可用size()方法。 keyset()返回Map中所有的key以集合的形式可用Set集合接收,HashMap当中的映射是无序的。 students.get(ID)是采用Map的get()方法
    查看全部
  • 你在内存中开辟了一块空间,这块空间中存放的是"imooc",当你定义变量的时候,就会检测内存中是否存在该字符串,如果存在的话直接引用就OK了,这也就是为什么s1和s2的地址一样了。就是因为在创建s1之后,在内存中已经有"imooc"这个字符串了,那么再创建s2的时候,自动去查内存中是否有相同的字符串,所以他俩就相等。 而为什么s3和s4不相等呢,是因为字符串一旦创建,就不会改变,也就是你在做字符串拼接的时候,会创建一个新的字符串对象,也就是会另外开辟一块空间,用来存放所新创建的字符串。所以s3是一个新的地址,而s4也是一个新的地址 2015-04-24
    查看全部
  • http://img1.sycdn.imooc.com//53d9f7d200010bb007780366.jpg http://img1.sycdn.imooc.com//53a8e74e00011f5703850166.jpg
    查看全部
  • 1.泛型集合中的限定类型 --不能使用基本数据类型 2.可以通过使用包装类限定允许存入的基本数据类型 /** * 泛型集合可以添加泛型的子类型的对象实例 * @param args */ public void testChild(){ ChildCourse ccr = new ChildCourse(); ccr.id = "3"; ccr.name = "我是子类型的课程对象实例~~~"; courses.add(ccr); } /** * 泛型不能使用基本类型 * @param args */ public void testBasicType(){ List<Integer> list = new ArrayList<Integer>(); list.add(1); System.out.println("基本类型必须使用包装类作为泛型!" + list.get(0)); }
    查看全部
  • 泛型 集合中的元素,可以是任意类型的对象(对象的引用) ---如果把某个对象放入集合,则会忽略他的类型,而把它当做Object处理 泛型则是规定了某个集合只可以存放特定类型的对象 ---会在编译期间进行类型检查 ---可以直接按置顶类型获取集合元素 /** * 带有泛型——Course,的List类型属性 */ public List<Course> courses; public TestGeneric(){ this.courses = new ArrayList<Course>(); } /** * 测试增加 * @param args */ public void testAdd(){ Course cr1 = new Course("1","大学语文"); courses.add(cr1); //泛型集合中,不能添加泛型规定以外的对象,否则会报错! //courses.add("奇怪的东西"); Course cr2 = new Course("2","Java基础"); courses.add(cr2); } /** * 测试循环遍历 * @param args */ public void testForEach(){ for(Course cr : courses){ System.out.println("添加了课程:" + cr.id + ":" + cr.name); } }
    查看全部

举报

0/150
提交
取消
课程须知
此部分为 Java 课程的进阶内容,适合具有一定 Java 基础的伙伴们学习,如果您是新手,建议您移步 《Java入门第一季》 和 《Java入门第二季》,在理解并掌握面向对象相关知识后再回来进修。
老师告诉你能学到什么?
本课程将学习 Java 中的异常处理、集合框架、字符串、常用类等,逐步学习掌握 Java 高级技术。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!