char a[1+5]={0,1,2,3,4,5};

Hashtable 是Map 的早期实现版本,是线程安全的,在新程序中不应使用。

A、 反射调用类构造器

B、 调用类的静态工厂方法

c)   isolation (隔离性)对同一数据的并发访问,不破坏数据的正确性和完整性,事务修改必须与其他并行事务修改相互独立 

Dirty reads 脏读取:读取了另一个并行事务未提交的数据

Non-repeatable reads 不可重复读:一个事务再次读取之前曾经读取的数据,但该数据已经被另一个事务修改

Phantom reads 虚读:一个事务重新执行查询,返回一套符合条件的记录,但其中包含了其他事务提交而产生的新记录。

优化 JVM 内存:设置合适的堆大小,对于 SUN 和 HP 等虚拟机,推荐将最小堆和最大堆的大小设置为同一值,这样可以避免经常调整堆大小浪费虚拟机资源,如 JAVA_OPTS="-Xms256m -Xmx256m" 。

操作系统优化,调整对 Tomcat 有影响的参数。

与其他 WEB 服务器整合: Tomcat 处理静态页面的性能远比不上 Apache 等,把 Tomcat 和 Apache 集成起来,由 Apache 处理静态页面,这样整体性能会有很大的提升。

1)读写分离、readonly,单向关联(优先使用one-to-one、one-to-many,尽量不用many-to-many,可以仅定义ID),绑定参数(建议OLTP使用绑定参数,数据仓库使用字符串拼接),使用数据库的聚合、排序

2)使用非final类(延迟加载)

3)细粒度的POJO,粗粒度的表

4)使用乐观锁提升系统并发性,提高性能

6)连接池调优,调整最小池、最大池、最大空闲时间、最大等待时间

7)索引调优,创建少量索引覆盖尽可能多的查询

8)二级缓存、批量处理

37 . 介绍一下常用的设计模式、设计模式分类和设计原则

根据模式目标分成三类:创建型、行为型、结构型

创建型:涉及到将对象实例化,将客户从所需要实例化的对象中解偶。

行为型:涉及到类和对象如何交互及分配职责。

结构型:把类或对象组合到更大的结构中。

另一种分类方式:类模式,对象模式

类模式:描述类之间的关系如何通过继承定义。类模式的关系是在编译时建立的。

对象模式:描述对象之间的关系,而且主要是利用组合定义。对象模式的关系通常在运行时建立,而且更加动态、更有弹性。

3)多用组合,少用继承

5)类应该对扩展开放,对修改关闭

6)依赖倒置,要依赖抽象,不要依赖具体类

38 . 写一个函数要求输入一个字符串和一个字符长度,对该字符串进行分隔,并返回分割结果

39 . 写出如下代码的运行结果

40 . char 型变量中能不能存贮一个中文汉字 ? 为什么 ?

char 型变量是用来存储 Unicode 编码的字符的, unicode 编码字符集中包含了汉字,所以 char 型变量中可以存储汉字。不过,如果某个特殊的汉字没有包含在 unicode 编码字符集中,那么这个 char 型变量中就不能存储这个特殊汉字。补充说明: unicode 编码占用两个字节,所以 char 类型的变量也是占用两个字节。

41. 用最有效率的方法算出 2 乘以 8 等於几 ?

因为将一个数左移 n 位,就相当于乘以了 2 的 n 次方,那么一个数乘以 8 只要将其左移 3 位即可,而位运算是 cpu 直接支持的,效率最高。

42. 下面代码的输出结果是什么?

如果想得到父类的名称,应该用如下代码:

43 . 写出下面代码的输出结果

44. 输出字符串中重复字符的个数

如果一个字符串正着读和反着读,字母顺序是一样的,那么就称这种字符串是对称的。比如,neveroddoreven。如果一个字符串包含了一个对称字符串的所有字母(不考察字母顺序),那么这种字符串称作可对称化的字符串。比如,ondervedenvor。要求:写一个方法,输入参数为字符串,输出true或false,代表该字符串是否为可对称化字符串。字符为a~z。

46. 一个人爬n阶的楼梯,一次可以跨一阶,也可以跨两阶,最多一次可以跨三阶,求总共有多少种走法?请写出程序,打印出所有可能的走法。

如果只有1阶楼梯,只有一种走法;如果有2阶楼梯,可以每次跨一阶,或一次跨两阶,有两种走法;如果有3阶楼梯,可以一阶一阶地上,也可以先跨两阶+后跨一阶,也能先跨一阶+后跨两阶,还可以一次跨三阶,有 4 种走法。

如果有n阶楼梯,第一步可以跨一阶楼梯,那么有F(n-1)种走法;如果第一步跨2阶楼梯,那么有F(n-2)种走法;如果第一步跨3阶楼梯,那么有F(n-3)种走法。

47. 求一个数组中最大数和第二大数

48. 求两个集合的交集

49. 有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时鉴别出哪瓶水有毒?

    方法:给每个瓶子按二进制编号,如:

    从编号最后1位是1的瓶子里各取出一滴混合,依次直到将第一位是1的瓶子中的水取出混合。然后让小白鼠喝混合后的水,24小时后,挂了的代表1,未挂的代表0,组合后的编号即为有毒瓶子的编号。

求得键的整数哈希值,再除以服务器台数,根据其余数来选择服务器。

根据余数计算分散的缺点:

余数计算的方法简单,数据的分散性也相当优秀,但当添加或移除服务器时,缓存重组的代价相当巨大。添加服务器后,余数就会产生巨变,这样就无法获取与保存时相同的服务器,从而影响缓存的命中率。

 一致性哈希 将整个哈希值空间组织成一个虚拟的圆环,整个空间按顺时针方向组织。

下一步将各个服务器使用哈希函数H 计算哈希值,具体可以选择服务器的ip 或主机名作为关键字进行哈希,这样每台机器就能确定其在哈希环上的位置。

将数据key 使用相同的函数H 计算出哈希值h ,根据h 确定在环上的位置,从此位置沿环顺时针“行走”,遇到的第一台服务器就是其应该定位到的服务器。

当添加或移除服务器时,仅在这台服务器到前一台服务器(逆时针方向)间的数据受影响。具有较好的容错性和可扩展性。

一致性哈希算法当服务节点太少时, 容易因为节点分部不均匀而造成数据倾斜问题。

为解决数据倾斜问题引入了虚拟节点机制,即对每一个服务节点计算多个哈希,每个计算结果位置都放置一个此服务节点,称为虚拟节点。具体做法可在服务器ip 或主机名的后面增加编号来实现。数据定位算法不变,只是多了一步虚拟节点到实际节点的映射。

为了保证数据完整性,大多数经典数据库系统都是以事务为基础的。这全方位保证了数据管理中数据的一致性。这些事务特性被称为ACID (A 原子性、C 一致性、I 隔离性、D 持久性)。然而,ACID 兼容系统的向外扩展已成为一个问题。

C: Consistency 一致性,所有客户端看到的数据是同一个版本。

A: Availability 可用性, 所有客户端总能找到所请求数据的至少一个版本,即使集群中某些机器已经宕机。

在分布式系统中不可能同时满足一致性、可用性和分区容错性这三个需求,最多只能同时满足两个。

很多NOSQL 数据库放宽了对于一致性(C )的要求,以期得到更好的可用性(A )和分区容忍性(P )。这产生了被称为BASE 的系统。它们没有经典意义上的事务,并且在数据模型上引入了约束,以支持更好的分区模式。

52.平面中的一个圆,切一刀后最多可以变成2瓣,切两刀最多变成4瓣,请问切100刀后最多变成多少瓣

解释:每新的一刀都与之前的每一刀相交,将新刀数块饼分为两半。

53. 有三个线程名字分别是A、B、C,每个线程只能打印自己的名字,在屏幕上顺序打印 ABC,打印10次。不准使用线程的sleep()。

54.不通过第三个数交换两个数的值

此方法可能会溢出 

用例图:显示了多个外部参与者与系统提供的用例之间的连接。用例是对系统提供的一个功能的描述。参与者:硬件、用户、另一个系统。

  • 类图  显示系统中各个类的静态结构以及这些类的关系:关联(实线)、依赖(一个类使用了另一个类对象作为方法参数,或者访问另一个类的全局对象,虚线)、继承。
    聚合  整体与部分(空心菱形)
    组合  部分依赖于整体而存在,整体类必须控制部分类的生命周期(实心菱形)
  • 对象图  类图的一个变体,用于显示类的多个实例
  • 状态图  用于显示类对象所有可能的状态,以及引起状态改变的事件,一个起始点,多个结束点
  • 活动图  用于显示一系列顺序的活动,进一步阐明用例描述
  • 顺序图  显示多个对象按时间顺序的协作关系
  • 通信图  显示系统的一个动态协作,除显示消息外,也显示对象及它们之间的关系(上下文

我要回帖

更多关于 char a[10] 的文章

 

随机推荐