Java复习 之容器】的更多相关文章

小生快要准备找工作了 现在开始复习一下Java基础之容器 Set和List是一个个往里面存 Map是两个两个往里面装 所谓重复指的是他们互相equals Collection 接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式 Set中的数据对象没有顺序并且不可以重复 List中的数据对象有顺序并且可以重复 Map接口定义了健值映射对的存储方法 1.Collection中的方法 例1. package com.hw.Prepare; import java.util.*;…
Java复习10. Servlet编程知识 20131008 前言: 之前在大三下的时候,学习了一个月的JSP和Servlet知识,但是没有什么项目经验,把JSP Web开发学习实录看了前面几张,后面的框架没有学习.这个期间,我掌握的就是把java代码和html代码杂糅在一起的JSP页面,同时还有就是Servlet的简单的知识,创建Servlet返回响应,这里才明白服务器的大概原理,根据客户端的请求URL类型分发到不同的地方.然后处理,之后在使用response返回信息.还有学习一点关于Java…
Java多线程-并发容器 在Java1.5之后,通过几个并发容器类来改进同步容器类,同步容器类是通过将容器的状态串行访问,从而实现它们的线程安全的,这样做会消弱了并发性,当多个线程并发的竞争容器锁的时候,吞吐量会下降.那并发容器是为多线程并发而设计的.那么java1.5中添加了哪些并发容器? 1.ConCurrentHashMap  来替代同步的HashMap 实现 2.CopyOnWriteArrayList  是List的同步实现       3.Queue 和 BlockQueue  接口…
java同步容器 在Java的集合容器框架中,主要有四大类别:List.Set.Queue.Map.List.Set.Queue接口分别继承了Collection接口,Map本身是一个接口.注意Collection和Map是一个顶层接口,而List.Set.Queue则继承了Collection接口,分别代表数组.集合和队列这三大类容器.像ArrayList.LinkedList.HashMap这些容器都是非线程安全的.因此,在编写程序时,必须要求程序员手动地在任何访问到这些容器的地方进行同步处…
小小的总结一下java中的容器问题. 一.三个知识点 1.迭代器 1).java.util.Interator + hasnext(); next(); remove(); 2).java.lang.Iterable +interable(); 2.比较器 1).实体类可以排序:java.lang.Comparable +CompareTo(); 2).排序比较器:java.util.Comparetor +compare(); List +Collections.sort(); TreeMap…
由java 复习003跳转过来的C语言实现版见some-sort-algorithms 快速排序(不稳定 O(n log n)) package vell.bibi.sort_algorithms; import vell.bibi.sort_algorithms.util.vell001; public class QuickSort {     public static int partition(int[] a, int low, int high){         int cup;…
java 复习001 比较随意的记录下我的java复习笔记 ArrayList 内存扩展方法 分配一片更大的内存空间,复制原有的数据到新的内存中,让引用指向新的内存地址 ArrayList在内存不够时默认是扩展为1.5倍 + 1个 ArrayList,LinkedList,Vector 区别 Vector内存扩展和ArrayList一样,不过Vector是默认扩展为2倍 Vector支持线程的同步,因此牺牲了访问性能 ArrayList,Vector都是使用数组实现,插入删除效率低 Linked…
[系列说明]java复习系列适宜有过java学习或C++基础或了解java初步知识的人阅读,目的是为了帮助学习过java但是好久没用已经遗忘了的童鞋快速捡起来.或者教给想快速学习java的童鞋如何应用实践.有意见可以直接留言~ 开个博客园脚踏实地一点一点review~ 学了好多语言:C.C++.C#.java.python 不同语言的存在都有它存在的意义,所以学习一门语言一定要了解它和其他语言的区别在哪,这里C++源于C,所以C不列出来比较,C#下段时间复习补上,python学的不好先不比较 重…
本文关键词: java集合框架  框架设计理念  容器 继承层级结构 继承图 集合框架中的抽象类  主要的实现类 实现类特性   集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确定的元素所构成的整体叫做集合. 容器用来包装或装载物品的贮存器   (如箱.罐.坛)或者成形或柔软不成形的包覆材料. 在Java中的Collection框架,有的人叫做集合有的叫做容器,不管怎么叫基本上也离不开"把元素装起来"这个本质. 我们的世界里面丰富多彩,有各种各样的事物,很多事物都…
  java 从spring容器中获取注入的bean对象 CreateTime--2018年6月1日10点22分 Author:Marydon 1.使用场景 控制层调用业务层时,控制层需要拿到业务层在spring容器中注入的对象 2.代码实现 import org.apache.struts2.ServletActionContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframew…
为什么会出现容器的注入? 容器:顾名思义,装东西的器物. 至于spring中bean,aop,ioc等一些都只是实现的方式:具体容器哪些值得我们借鉴,我个人觉得是封装的思想.将你一个独立的系统功能放到一个容器之中,可以当做一个大的接口被别人使用,也可以更好的规范标准. 云计算解决了计算机基础设施计算.网络.存储这几个方面的弹性问题,但是它遗留了两个问题.       应用的扩展问题      迁移性问题 在云计算环境下,人们想出了两种方法解决问题.一是通过自动化脚本,然而不同的环境千差万别,一个…
Java复习11. 单例编程 1.最简单的写法,那个方式是线程不安全的 public class Singleton {     private static Singleton instance;     private Singleton(){}     public static Singleton getInstance(){          if(instance == null){              instance = new Singleton();         }…
Java 复习9网路编程 20131008 前言: Java语言在网络通信上面的开发要远远领先于其他编程语言,这是Java开发中最重要的应用,可以基于协议的编程,如Socket,URLConnection等等,之后面的Web开发就是Servlet开发还有各种框架等等,基本上都是基于网络编程的.在上大二的时候,自己学习过Java网络编程的知识,现在好像都忘了,再有就是JSP,Servlet等等这些编程的知识也都忘得差不多了,所以这一段时间回忆一下关于网络编程和Web编程的知识. 1.网络通信编程…
Java复习8 多线程知识 20131007 前言: 在Java中本身就是支持多线程程序的,而不是像C++那样,对于多线程的程序,需要调用操作系统的API 接口去实现多线程的程序,而Java是支持多线程的,具有并发性. 在程序中使用多线程意味着我们可以同时处理多项任务,在实际的开发中,尤其是大型的项目,多线程程序是十分重要的. 同时多线程的程序会带来一定的问题,比如数据的同步.资源的访问等等.在服务器端,使用多线程处理用户的请求等等的知识. 1.线程的概念 每一个程序至少运行着一个进程,每一个进…
Java复习6.异常处理 20131005 前言: Java中的异常处理机制是非常强大的,相比C++ 来说,更加系统.但是我们开发人员没有很好的使用这一点.一些小的程序是没有什么问题的,但是对于大型项目来说,异常处理机制十分重要.在Java中我们使用的异常处理,一般就是捕获异常,输出堆栈中的异常信息,就没了,这些方法仅仅适合开发环节,便于我们调试错误,但是对于后期发布上下的话,这些就没有用了,需要我们恢复错误等等,甚至要重新启动. 本章的就学习一段代码,通过它来学习Java中的异常处理机制. C…
Java复习4.Java中的数组声明方式  20131004 1.数组声明和初始化, 数组元素和变量一样,可以在定义的时候i进行初始化.数组元素的初始化工作实在编译阶段完成的,可以减少运行时间. 在初始化数组的时候,使用new 关键字创建数组,他只是一个引用,知道将值赋值给引用,初始化的工作才结束. 三种初始化的方法: int a = new int[9]; int a = new int{1,1,1,1}; int a = {1,1,1,1}; 在Java中的数组赋值不能够直接让一个数组等于另…
Java复习7.输入输出流 20131005 前言: Java中涉及数据的读写,都是基于流的,这一块的知识相当重要,而且在Java中的数据,char字符是16bit的,所以存在字节流和字符流的区别.如果是字符文件的输入输出,使用字符流(以Reader/Writer为抽象基类),而其他的数据是二进制的,需要使用字节流(以InputStream和OutputStream为抽象基类). 其实不止文件,网络数据传输也是输入输出流. 目录 1.字节流和字符流... 2 1.1字节输入流:... 2 1.2…
Java 复习5面向对象知识 20131004 前言: 前几天整理了C++中的面向对象的知识,学习Java语言,当然最重要的就是面向对象的知识,因为可以说Java是最正宗的面向对象语言,相比C++,更加严格的面向对象的语言.面向对象是JAVA语言最大的特点. 1.基本概念 面向对象在程序中开始指的是采用封装.继承.抽象的设计方法,如今以发展到整个软件行业,如OOA(面向对象分析), OOD(面向对象设计), OOP(面向对象的编程). 面向对象的特点: 对象的唯一性,每一个对象都会有一个唯一的标…
为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器.并发容器.阻塞队列.Synchronizer(比如CountDownLatch).今天我们就来讨论下同步容器. 以下是本文的目录大纲: 一.为什么会出现同步容器? 二.Java中的同步容器类 三.同步容器的缺陷 转载原文链接:http://www.cnblogs.com/dolphin0520/p/3933404.html 一.为什么会出现同步容器? 在Java的集合容器框架中,主要有四大类别:List.S…
java 复习总结 命名方法 创建文件的名称应该和类的名称一致,不然会报错. 类采用首字母大写的方式来命名,如果是多个单词的类名,则每个单词首字母都大写,例如:HelloWorld . 方法采用驼峰命名法,即第二个字母开头大写. 通常,一个公司使用它互联网域名的颠倒形式来作为它的包名. 抽象类总结规定 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过.只有抽象类的非抽象子类可以创建对象. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类. 抽象类中的抽象方…
Java中有一些对象被称为容器(container).容器中可以包含多个对象,每个对象称为容器中的一个元素.容器是用对象封装的数据结构(data structure). 充满梦想的容器 不同的数据结构有不同的组织元素的方式,也可以有不同的操作.根据具体实施的不同,数据结构的操作效率也各有差别.Java中的容器也是这样.我们要选择适当的容器,以应对变化的需求. (关于数据结构更多的内容,可参考纸上谈兵: 算法与数据结构) 数组 数组(array)是最常见的数据结构.数组是相同类型元素的有序集合,并…
1.ArrayList源码解析 源码解析: 如下源码来自JDK8(如需查看ArrayList扩容源码解析请跳转至<Java中的容器(集合)>第十条):. package java.util; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.function.UnaryOperator; import sun.misc.SharedSecrets; //其中实现了R…
1.HashMap源码解析(JDK8) 基础原理: 对比上一篇<Java中的容器(集合)之ArrayList源码解析>而言,本篇只解析HashMap常用的核心方法的源码. HashMap是一个以键值对存储的容器. hashMap底层实现为数组+链表+红黑树(链表超过8时转为红黑树,JDK7为数组+链表). HashMap会根据key的hashCode得到对应的hash值,再去数组中找寻对应的数组位置(下标). hash方法如下: static final int hash(Object key…
Java中的容器详细总结(编辑中) 原文链接:http://anxpp.com/index.php/archives/656/ 注:本文基于 Jdk1.8 编写 通常程序总是根据运行时才知道的某些条件去创建新的对象.在此之前,也不知道要创建的对象的数量(甚至是确切的对象类型).为了解决这个问题,java提供了数组来解决这个问题,但是数组是长度固定的,很多时候简单的数组是不能满足我们的需求的,所以java还提供了一套相当完整的容器类来解决这个问题,这也是本文要介绍的. 1.概述 Java容器类类库…
作者:汤圆 个人博客:javalover.cc 前言 官人们好啊,我是汤圆,今天给大家带来的是<Java并发-同步容器篇>,希望有所帮助,谢谢 文章如果有问题,欢迎大家批评指正,在此谢过啦 简介 同步容器主要分两类,一种是Vector这样的普通类,一种是通过Collections的工厂方法创建的内部类 虽然很多人都对同步容器的性能低有偏见,但它也不是一无是处,在这里我们插播一条阿里巴巴的开发手册规范: 高并发时,同步调用应该去考量锁的性能损耗.能用无锁数据结构,就不要用锁:能锁区块,就不要锁整…
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11871602.html Java线程--CopyOnWrite容器使用 CopyOnWrit容器 主要用于读多写少的情景,白名单,黑名单,种类的访问和更新场景, 大概原理就是如果要读一个容器, 则直接读即可, 如果要改写一个容器里面的内容的时候, 则需要先将这个容器加一个写锁, 再copy一个副本, 然后对这个副本进行改写, 然后将原指针指向这个副本容器, 完成改写. public stat…
java复习面向对象(二) 1.static关键字 举例图片 静态变量 使用static修饰的成员变量是静态变量 如果一个成员变量使用了关键字static,那么这个变量不属于对象自己,而属于所在的类多个对象共享同一份数据 推荐写法:类.静态变量,该写法可以直接观看出变量是静态变量: 不推荐写法:对象.静态变量 写成对象名.静态变量,javac编译的时候会编译成类.静态变量 静态方法 使用static修饰的成员方法是静态方法 1.静态不能直接访问非静态: 内存中先有静态的内容,后有非静态的内容.类…
转载自:https://mp.weixin.qq.com/s/d2PFISYUy6X6ZAOGu0-Kig 1. 概述 当我们在容器中运行 Java 应用程序时,可能希望对其进行调整参数以充分利用资源. 在本教程中,我们将了解如何在运行 Java 进程的容器中设置 JVM 参数.本文将重点关注常见的 -Xmx 和-Xms 标志. 另外,我们还将研究使用某些 Java 版本运行的程序容器化的常见问题,以及如何在常见的容器化 Java 应用程序时设置自定义标志. 2. Java 容器中的默认堆设置…
    前言:终于到分布式篇,前面把JAVA的一些核心知识复习了一遍,也是一个JAVA程序员最基本要掌握的知识点,接下来分布式的知识点算是互联网行业的JAVA程序员必备的技能:     概念:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是谷歌的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名服务.分布式同步.组服务等     关键词:分布式,一致性服务 讲得通俗一点,zookeepe…
前言 打算下学期开学,也就是九月份,去找实习,现在还有三个月时间.(然而还在天天玩 Python..) 定个复习计划. 1. 基础 并发:Java并发编程实战 [ x ] SQL:MySQL,看看书,上 LeetCode 刷刷题. 设计模式:学一学常见的八九个就行. 必须要掌握的工具: [ x ] git: git 一段时间没复习,感觉很多东西都记不太清了.. [ x ] 项目构建: gradle, 另外 maven 也要会复制粘贴.. Junit: 要记得写测试,人不能太懒啊 日志:slf4j…