zoukankan      html  css  js  c++  java
  • 0409笔试总结

    1.当线程在活动之前或活动期间处于正在等待、休眠或占用状态当该线程被中断时,抛出该异常。
    1)java.lang.Object 类的 wait 方法 使线程进入堵塞状态
    2)java.lang.Thread 类的 sleep 方法 使线程进入休眠状态
    3)java.lang.Thread 类的 join 方法 使线程按特定顺序执行(当线程a里调用了b.join(),则需等待b线程执行完才能继续执行线程a)
    调用了b.join(1000),如果b线程里拿取了对象锁(synchronized关键字获取),则等待一秒后也需等线程b释放对象锁

    2.接口中默认修饰变量属性用:public static final
    为什么是public:因为接口必然是要被实现的,如果不是public,这个属性就没有意义了;
    为什么是static:static代表着这个东西在内存中只有一份;
    为什么是final:这是为了体现java的开闭原则,因为接口是一种模板,既然是模板,那就对修改关闭,对扩展开放。
    1)关于String类型已经为final的说法:
    1)再加final代表着引用指向也不可改变

    3.因为重写的equals()里一般比较的比较全面比较复杂,而hashCode()方法利用比较两个对象的hashcode值效率比较高,但不稳定,两个不同的对象也有可能hashcode值相等
    equals()相等的两个对象他们的hashCode()肯定相等,也就是用equals()对比是绝对可靠的。
    hashCode()相等的两个对象他们的equal()不一定相等,也就是hashCode()不是绝对可靠的。

    4.标准ASCII只使用7个bit,扩展的ASCII使用8个bit。ASCII码包含一些特殊空字符,有些不可打印(ASCII 表上的数字 0–31 分配给了控制字符)

    5.TCP协议头中不包含源IP地址和目的IP地址

    6.jvm堆分为:新生代(一般是一个Eden区,两个Survivor区),老年代(old区)。常量池属于 PermGen(方法区)

    7.PreparedStatement的一个缺点是,我们不能直接用它来执行in条件语句;需要执行IN条件语句的话,下面有一些解决方案:
    分别进行单条查询——这样做性能很差,不推荐。
    使用存储过程——这取决于数据库的实现,不是所有数据库都支持。
    动态生成PreparedStatement——这是个好办法,但是不能享受PreparedStatement的缓存带来的好处了。
    在PreparedStatement查询中使用NULL值——如果你知道输入变量的最大个数的话,这是个不错的办法,扩展一下还可以支持无限参数

    8.序列化:
    1. 在序列化的时候,被transient或者static修饰的属性,不可以序列化。
    2. 一个类可以被序列化,那么它的子类也可以被序列化。
    3. 序列化可以实现深复制,而Object中的clone实现的就只是浅复制。

    9.正则中:
    d:匹配数字,D:匹配非数字

    10.finally一定会在return之前执行,但是如果finally使用了return或者throw语句,将会使trycatch中的return或者throw失效

    11. 重写和重载
    静态方法,不存在重写,重写只对可见的实例方法有效。静态方法只有隐藏。所以在父子类中存在相同的静态方法时算重载
    重载则是根据形参的静态类型确定调用的方法版本,重写是根据调用者在运行期的实际类型来确定调用的方法版本。

    12.concat()方法,返回连接后的数组或字符串对象,本身并不会发生变化
    join()方法,能将数组或集合中的值按指定方式连接,返回字符串

    13.
    500:服务器内部报错,无法完成请求
    501:服务器不支持实现请求所需要的功能,简称服务器不支持请求
    400:请求语法格式错误,参数啥的,服务器无法理解请求
    401:用户没有访问权限,需要进行身份认证。
    403:服务器拒绝请求,服务器上文件操作权限设置导致,或者是没有权限访问
    404:找不到请求的页面

    14.SVG是一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形。SVG提供了3种类型的图形对象:矢量图形(vectorgraphicshape例如:由直线和曲线组成的路径)、图象(image)、文本(text)。
    图形对象还可进行分组、添加样式、变换、组合等操作,特征集包括嵌套变换(nestedtransformations)、剪切路径(clippingpaths)、alpha蒙板(alphamasks)、滤镜效果(filtereffects)、模板对象(templateobjects)和其它扩展(extensibility)。
    严格意义上不属于html标签元素中的一种

    15.>>带符号右移,>>>不带符号右移,<<带符号左移
    << : 左移运算符,num << 1,相当于num乘以2

    >> : 右移运算符,num >> 1,相当于num除以2

    >>>: 无符号右移,忽略符号位,符号位不动 , 空位都以0补齐

    16.Java异常的基类为java.lang.Throwable,java.lang.Exception和java.lang.Error继承于该类。
    1)运行时异常可以不被申明,比如抛出啥的,它由jvm自行处理,比如空指针异常和数组越界异常等

    17.oom中的:(jmap)
    1)内存泄露 和 无用当资源无法回收
    2)并发量大
    3)创建了一个很大的对象

    18.oom异常的解决方法:
    1)将堆内存dump下来
    2)简单粗暴:加大堆内存
    1.分布式服务
    3)多线程加载对象

    19.辗转相除法是以除数和余数反复做除法运算

    20.servlet如何获取用户配置的初始化参数:
    1)getInitParameterr(java.lang.Stringname)
    服务器上下文参数:
    1)servlet的ServletConfig对象拥有该servlet的ServletContext的一个引用,所以可这样取得上下文初始化参数:getServletConfig().getServletContext().getInitParameter()
    2)也可以在servlet中直接调用getServletContext().getInitParameter()

    21.NOSCRIPT标签用来定义在脚本未被执行时的替代内容

    22.+运算符优先级高于三目运算符,
    console.log('Value is ' + (val != '0') ? 'define' : 'undefine');
    所以无论如何非空字符串boolean转换都为true

    23.link标签是同时加载的(引入css) script标签才会加载完一个再加载另一个(引入js)
    加载和解析是两个概念,css中加载是并行的,解析是顺序的,后面的css属性会覆盖前面的

    24.数组的定义:
    1. 定义一维数组时,必须显式指明数组的长度;
    2. 定义***数组时,其一维数组的长度必须首先指明,其他维数组长度可以稍后指定;
    3. 采用给定值初始化数组时,不必指明长度;
    4. “[]” 是数组运算符的意思,在声明一个数组时,数组运算符可以放在数据类型与变量之间,也可以放在变量之后。

    25.JavaScript RegExp 对象有3个方法:test()、exec()、compile()
    test():检测一个字符串是否匹配某个正则表达式,如果匹配成功,返回true,否则返回false;
    exec():检索字符串中与正则表达式匹配的值,返回一个数组,存放匹配的结果;如果未找到,返回null;
    compile():可以在脚本执行过程中编译正则表达式,也可以改变已有表达式。
    注:match是支持正则表达式的String对象的方法

    26.redis一共包含5种数据类型
    字符串 String (最基本的类型,可包含任意数据)
    哈希 Hash (String类型的field、value映射表)
    列表 List (字符串列表,有序不唯一)
    集合 set (字符串集合,无序唯一)
    集合排序 zset (字符串集合,可以通过设置分数score进行排序)

    27.数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。
    通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。

    28.ping是使用的ICMP协议,是IP层协议,但是端口是应用层的,所以它只能判断能够访问ip,不能判断端口,telnet是应用层的,可以判端口访问情况

    29.关于集合常见面试题的总结:
    https://blog.csdn.net/striveb/article/details/82593768

    30.进程是系统进行资源分配和调度的基本单位,而线程是CPU调度和分配的基本单位,一个进程中的多个线程共享资源,一个线程可以创建和撤销另一个线程

  • 相关阅读:
    14.18 InnoDB Backup and Recovery 备份和恢复:
    14.18 InnoDB Backup and Recovery 备份和恢复:
    php使用 _before_index() 来实现访问页面前,判断登录
    php使用 _before_index() 来实现访问页面前,判断登录
    查询方式实例演示
    查询方式实例演示
    haproxy timeout server 46000 后台超时时间
    haproxy timeout server 46000 后台超时时间
    14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 回收空间使用TRUNCATE TABLE
    14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 回收空间使用TRUNCATE TABLE
  • 原文地址:https://www.cnblogs.com/nyhhd/p/12670056.html
Copyright © 2011-2022 走看看