知识遗漏收集

1、自动化部署方案(svn/git+jenkins+artifact+maven)

2、遍历 ArrayList 时移除一个元素,但是ArrayList使用迭代器来进行删除时就不会报错。

https://blog.csdn.net/superxlcr/article/details/51534428

迭代器删除:https://www.cnblogs.com/xujian2014/p/5846128.html

3、当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。

4、wildfly配置datasource中的几个配置项说明

<prefill>true</prefill>是否初始化到最小连接数。
<use-strict-min>true</use-strict-min>是否使用严格最小连接。
<flush-strategy>EntirePool</flush-strategy>冲刷策略

5、位(bit)、字节(byte)、汉字、字符

1. bit:位 一个二进制数据0或1,是1bit;
2. byte:字节 存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45)  即是指 45个字节;1 byte = 8 bit
3. 一个英文字符占一个字节;1 字母 = 1 byte = 8 bit
4. 一个汉字占2个字节;1 汉字 = 2 byte = 16 bit

1 字节(Byte) = 8位(bit)
8 位:Byte(字节型)
16位:short(短整型)、char(字符型)          
32位:int(整型)、float(单精度型/浮点型)          
64位:long(长整型)、double(双精度型)          
最后一个:boolean(布尔类型)(占内存字节不定,boolean类型在编译后会使用其他数据类型来表示

6、Java中transient关键字的作用,简单地说,就是让某些被修饰的成员属性变量不被序列化。

7、对自动化部署方案(svn/git+jenkins+artifact+maven)有一定了解

8、编写多线程程序的时候你会遵循哪些最佳实践

a)给线程命名,这样可以帮助调试。 
b)最小化同步的范围,而不是将整个方法同步,只对关键部分做同步。 
c)如果可以,更偏向于使用 volatile 而不是 synchronized。 
d)使用更高层次的并发工具,而不是使用 wait() 和 notify() 来实现线程间通信,如 BlockingQueue,CountDownLatch 及 Semeaphore。 
e)优先使用并发集合,而不是对集合进行同步。并发集合提供更好的可扩展性。

9、说出几点 Java 中使用 Collections 的最佳实践

a)使用正确的集合类,例如,如果不需要同步列表,使用 ArrayList 而不是 Vector。 
b)优先使用并发集合,而不是对集合进行同步。并发集合提供更好的可扩展性。 
c)使用接口代表和访问集合,如使用List存储 ArrayList,使用 Map 存储 HashMap 等等。 
d)使用迭代器来循环集合。 
e)使用集合的时候使用泛型。

10、Dubbo 的注册中心集群挂掉,发布者和订阅者之间还能通信么?

可以通讯。启动 Dubbo 时,消费者会从 Zookeeper 拉取注册的生产者的地址接口等数据,缓存在本地。每次调用时,按照本地存储的地址进行调用。

11、Dubbo 支持哪些序列化方式?

默认使用 Hessian 序列化,还有 Duddo、FastJson、Java 自带序列化。

12、在 hibernate 中使用 Integer 和 int 做映射有什么区别?

13、hibernate 实体类可以被定义为 final 吗?

14、在 hibernate 中 getCurrentSession 和 openSession 的区别是什么?

15、hibernate 实体类必须要有无参构造函数吗?为什么?

16、域名系统(英文:Domain Name System,缩写:DNS)

域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53[1]。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

17、数组多大放在JVM老年代,一般默认1m

18、GC有环怎么处理

根搜索算法
什么是根搜索算法
垃圾回收器从被称为GC Roots的点开始遍历遍历对象,凡是可以达到的点都会标记为存活,堆中不可到达的对象都会标记成垃圾,然后被清理掉。 GC Roots有哪些

类,由系统类加载器加载的类。这些类从不会被卸载,它们可以通过静态属性的方式持有对象的引用。注意,一般情况下由自定义的类加载器加载的类不能成为GC Roots
线程,存活的线程
Java方法栈中的局部变量或者参数
JNI方法栈中的局部变量或者参数
JNI全局引用
用做同步监控的对象
被JVM持有的对象,这些对象由于特殊的目的不被GC回收。这些对象可能是系统的类加载器,一些重要的异常处理类,一些为处理异常预留的对象,以及一些正在执行类加载的自定义的类加载器。但是具体有哪些前面提到的对象依赖于具体的JVM实现。
如何处理
基于引用对象遍历的垃圾回收器可以处理循环引用,只要是涉及到的对象不能从GC Roots强引用可到达,垃圾回收器都会进行清理来释放内存

19、NIO和IO的区别

第一点,NIO少了1次从内核空间到用户空间的拷贝。
ByteBuffer.allocateDirect()分配的内存使用的是本机内存而不是Java堆上的内存,和网络或者磁盘交互都在操作系统的内核空间中发生。allocateDirect()的区别在于这块内存不由java堆管理, 但仍然在同一用户进程内。
第二点,NIO以块处理数据,IO以流处理数据
第三点,非阻塞,NIO1个线程可以管理多个输入输出通道

20、并发工具类:CyclicBarrier 、 CountDownLatch、Semaphore、Exchanger的各种用途及实现原理

21、Serializable和Extionializable

22、RentrantLock,可重入的互斥锁,可中断可限时,公平锁,必须在finally释放锁,而synchronize由JVM释放。可重入但是要重复退出,普通的lock()不能响应中断,lock.lockInterruptbly()可响应中断,可以限时tryLock(),超时返回false,不会永久等待构成死锁。

23、至少有一种面向容器的集群资源调度平台使用经验(Kubernetes、Mesos、Swarm),了解源码和实现者优先

24、概要设计、详细设计、数据库设计等关键活动

25、

26、

27、

28、

29、

30、

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值