`
文章列表
首先,推荐大家使用ArrayList,了解这个差别,更多是为了应对面试。 两者的最大差异就是线程安全 ArrayList:线程不安全,但性能高 Vector:线程安全,但性能较低 我们如何得到一个类是线程安全或不安全的结论的? 从源码的角度来说,你大可以打开ArrayList和Vector的源码一对比,即可发现 ArrayList的部分源码: public boolean add(E e) {ensureCapacityInternal(size + 1); // Increments modCount!!elementData[size++] = e;return true;} ...
HashSet,给我们最直观的感受就是两点,不可重复和无序,底层采用了hash存储结构。 其底层是采用了HashMap,今天我们通过深入源码的方式来了解其背后的原理。 我们关注的点有几个 1,所谓的hash表是一个怎么样的结构? hash表底层结构是一个数组,且数组的元素是一个链表结构。给大家画个图 2,是如何保证唯一的?存放进去的细节如何?
类的加载机制是怎么样的?下面我们分几个部分来讲解 1,这些概念你知道是什么意思吗? 相信你应该听过不少这样的词语, 类加载机制,双亲委托机制,BootstrapClassLoader、ExtClassLoader、AppClassLoader 如果你不清楚,这些都是什么意思?没关系,看完下面的内容,你就清楚了 2,什么是类的加载机制? 所谓类的加载机制是指JVM将java类加载到内存的过程。 我们知道,JVM使用Java类的流程如下: 1,首先,Java源文件----编译---->class文件 2,其次,类加载器ClassLoader会读取这个.clas ...
HashMap: 查询和插入速度极快,但是线程不安全,在多线程情况下在扩容的情况下可能会形成闭环链路,耗光cpu资源。 LinkedHashMap: 基本和HashMap实现类似,多了一个链表来维护元素插入的顺序,因此维护的效率会比HashMap略低。但是因为有链表的存在,遍历效率会高于HashMap。 HashTable: 线程安全,但性能较差,已经不推荐使用 ConcurrentHashMa
Servlet不是线程安全的。 当Tomcat接收到Client的HTTP请求时,Tomcat从线程池中取出一个线程,之后找到该请求对应的Servlet对象并进行初始化,之后调用service()方法。要注意的是每一个Servlet对象再Tomcat容器中只有一个实例对象,即是单例模式。如果多个HTTP请求请求的是同一个Servlet,那么着两个HTTP请求对应的线程将并发调用Servlet的service()方法。所以此时如果Servlet中定义了实例变量或静态变量,那么可能会发生线程安全问题(因为所有的线程都可能使用这些变量)。 --------------------- 本文来自 互 ...
一、Oracle数据库几种启动方式 1、startup nomount   非安装启动,这种方式下启动可执行:重建控制文件、重建数据库,读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。 2、startup mount (dbname)   ...
1、运行SQLPLUS工具   C:\Users\wd-pc>sqlplus 2、直接进入SQLPLUS命令提示符   C:\Users\wd-pc>sqlplus /nolog 3、以OS身份连接    C:\Users\wd-pc>sqlplus / as sysdba   或   SQL>connect / as sysdba 4、普通用户登录   C:\Users\wd-pc>sqlplus scott/123456  或   SQL>connect scott/123456  或   SQL>connect scott/1 ...
system默认:manager sys默认:change_on_install 使用SQL Plus登录数据库时,system使用密码manager可直接登录。 但如果是sys用户,密码必须加上as sysdba,即完整密码为:change_on_install as sysdba
1.问题描述 svn地址在eclipse中显示文件夹不存在。     2.测试 把地址粘贴到浏览器地址栏中可以正常访问。         3.解决办法 安装本地svn客户端,下载之前路径中任意一个文件到本地。然后在eclipse中使用svn就可以下载项目了。  
  1.系统参数配置   select * from dba_profiles where resource_name like 'FAILED_LOGIN_ATTEMPTS%';       2.查看被锁的用户 select LOCK_DATE,username from dba_users where username='USERNAME'; LOCK_DATE为空说明没有锁定,非空为锁定。     3.解锁方法 ALTER USER USER_NAME ACCOUNT UNLOCK;  --值的注意,在升级过程中,被锁的用户,有可能不值一个    
--把NEW_POS用户授权给new_pos_test1用户。  new_pos_test1 可以查看new_pos用户的表。 select 'Grant all on  '||table_name || ' to  new_pos_test1 ;' from all_tables  where owner = upper('NEW_POS');    --授权方式2 grant create tablespace to new_pos_test1;
1.序列介绍 序列是一个计数器,它并不会与特定的表关联。通过创建Oracle序列和触发器实现表的主键自增。 序列的用途一般用来填充主键和计数。   2.创建序列 ORACLE序列的语法格式为: CREATE SEQUENCE 序列名[INCREMENT BY n][START WITH n][{MAXVALUE/ MINVALUE n|NOMAXVALUE}][{CYCLE|NOCYCLE}][{CACHE n|NOCACHE}];
spring bean的作用域和生命周期   容纳bean (1)bean工厂:最简单的容器,提供了基础的依赖注入支持,创建各种类型的bean (2)应用上下文(ApplicationContext):建立在bean工厂基础之上,提供系统架构服务     从ApplicationContext上下文容器中获取bean和从bean工厂容器中获取bean的区别“   bean的作用域 Spring Framework支持五种作用域(其中有三种只能用在基于web的)。
Oracle对象课程:序列(Sequence)创建、使用、修改、删除,序列(Sequence)是用来生成连续的整数数据的对象。序列常常用来作为主键中增长列,序列中的可以升序生成,也可以降序生成。创建序列的语法是: 语法结构:创建序列 ...
Global site tag (gtag.js) - Google Analytics