



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
淘宝笔试非常悲剧啊,基本上能达到20分就不错了回忆如下:Linux里面解压缩一个tar文件的命令Linux文件组成形式如何划分硬盘(主分区和逻辑分区)Const int和int const以及const int*和int* const等等的异同 Linux下ls指令得到的一串信息分别代表什么-rw-r-r- 1 root root 1668 Oct 3 2007 anaconda-ks.cfgdrwxr-xr-x 2 root root 4096 Nov 6 00:04 aa*drwxr-xr-x 第一个字符有3种 情况:“-”表示普通文件,“d”代表目录,“l”代表连接文件,“b”代 表设备文件。后面的9个字符每3个为一组,分别代表文件所有者、文件所有者所在用户组、其它用户对文件拥 有的权限。每组中3个字符分别代表读、写、执行的权限,若没有 其中的任何一个权限则用“-”表示。执行的权限有两个字符可选“x”代表可执行,“s”代表套接口文件。*紧接着的数字2代 表 “aa”这个目录下的目录文件数目(这个数目=隐藏目录数目+普通目录数目)。如果这个aa是 个普通文件,2就代表这个文件有2个别名(这个文件被人创建了一个硬链接文件)*再接下来的root代 表这个文件(目录)的属主为:用户root *再接下来的root代表这个文件(目录)所属的用户组为:组root *4096 代表文件的大小(字节数),目录的 大小总是为4096字节。*Nov 6 00:04 代表文件(目录)的修改时间。*aa代表文件(目录)的名字。软件覆盖测试分为哪几个分支覆盖、条件覆盖、语句覆盖软件开发的模型1. 边做边改模型(Build-and-Fix Model);2. 瀑布模型(Waterfall Model);3. 快速原型模型(Rapid Prototype Model);4. 增量模型(Incremental Model);5.螺旋模型(Spiral Model);6.演化模型(incremental model);7.喷泉模型(fountain model);8.智能模型(四代技术(4GL));9.混合模型(hybrid model)Sizeof输出多少详细参见sizeof的txt文本文件二叉树前序遍历得到某结果XXXXXX,中序遍历得到某结果XXXXXX,后序遍历得什么?ThreadLocal方法的作用和原理,initValue方法的使用范围什么是ThreadLocal?顾名思义它是local variable(线程局部变量)。它的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。使用场景1. To keep state with a thread (user-id, transaction-id, logging-id) 2. To cache objects which you need frequentlyThreadLocal类它主要由四个方法组成initialValue(),get(),set(T),remove(),其中值得注意的是initialValue(),该方法是一个protected的方法,显然是为了子类重写而特意实现的。该方法返回当前线程在该线程局部变量的初始值,这个方法是一个延迟调用方法,在一个线程第1次调用get()或者set(Object)时才执行,并且仅执行1次。ThreadLocal中的确实实现直接返回一个null:ThreadLocal的原理ThreadLocal是如何做到为每一个线程维护变量的副本的呢?其实实现的思路很简单,在ThreadLocal类中有一个Map,用于存储每一个线程的变量的副本。比如下面的示例实现:public class ThreadLocalprivate Map values = Collections.synchronizedMap(new HashMap();public Object get()Thread curThread = Thread.currentThread(); Object o = values.get(curThread); if (o = null & !values.containsKey(curThread)o = initialValue();values.put(curThread, o); return o; public void set(Object newValue)values.put(Thread.currentThread(), newValue);public Object initialValue()return null; ThreadLocal 的使用使用方法一:Hibernate的文档时看到了关于使ThreadLocal管理多线程访问的部分。具体代码如下 1.public static final ThreadLocal session = new ThreadLocal(); 2.public static Session currentSession() 3.Session s = (Session)session.get(); 4./open a new session,if this session has none 5. if(s = null) 6.s = sessionFactory.openSession(); 7.session.set(s); 8. return s; 9. 我们逐行分析 1。 初始化一个ThreadLocal对象,ThreadLocal有三个成员方法 get()、set()、initialvalue()。 如果不初始化initialvalue,则initialvalue返回null。 3。session的get根据当前线程返回其对应的线程内部变量,也就是我们需要的net.sf.hibernate.Session(相当于对应每个数据库连接).多线程情况下共享数据库链接是不安全的。ThreadLocal保证了每个线程都有自己的s(数据库连接)。 5。如果是该线程初次访问,自然,s(数据库连接)会是null,接着创建一个Session,具体就是行6。 6。创建一个数据库连接实例 s 7。保存该数据库连接s到ThreadLocal中。 8。如果当前线程已经访问过数据库了,则从session中get()就可以获取该线程上次获取过的连接实例。 使用方法二当要给线程初始化一个特殊值时,需要自己实现ThreadLocal的子类并重写该方法,通常使用一个内部匿名类对ThreadLocal进行子类化,EasyDBO中创建jdbc连接上下文就是这样做的:public class JDBCContextprivate static Logger logger = Logger.getLogger(JDBCContext.class);private DataSource ds;protected Connection connection;private boolean isValid = true;private static ThreadLocal jdbcContext;private JDBCContext(DataSource ds)this.ds = ds;createConnection();public static JDBCContext getJdbcContext(javax.sql.DataSource ds)if(jdbcContext=null)jdbcContext=new JDBCContextThreadLocal(ds);JDBCContext context = (JDBCContext) jdbcContext.get();if (context = null) context = new JDBCContext(ds);return context;private static class JDBCContextThreadLocal extends ThreadLocal public javax.sql.DataSource ds;public JDBCContextThreadLocal(javax.sql.DataSource ds)thi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025租赁合同违约金责任认定
- 2025年拆迁安置房买卖合同的法律效力如何
- 2025《合同法学》学习指南与实务作业
- 第4课《灯笼》说课稿 2025-2026学年统编版语文八年级下册
- 3.1 质量与密度 说课稿 -2024-2025学年浙教版科学七年级下册
- 八年级语文上册 第四单元 16《散文二篇》说课稿 新人教版五四制
- 2024-2025学年高中语文 第1单元 向青春举杯(活动体验)单元序列写作(一)激活我们的诗情说课稿 苏教版必修1
- 浙教版七年级科学下册说课稿:4.4月相
- 机械厂噪声投诉处理办法
- 双鸭山事业单位笔试真题2025
- 2025年宁波农商发展集团限公司招聘高频重点提升(共500题)附带答案详解
- 蜀道集团招聘笔试
- 历年全国普通话考试真题50套
- 2024年社区警务规范考试题库
- 农业测绘技术服务方案
- 2025年上海市高考语文专项复习:识记背诵默写
- 2024年中级经济师(金融)《专业知识与实务》考前必刷必练题库500题(含真题、必会题)
- TGXAS-松阔混交林培育技术规程编制说明
- 九年级英语第1-3单元测试题(含答案)
- 充电桩工程-资料目录
- 血透病人远期并发症
评论
0/150
提交评论