随笔分类 - Java
摘要:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 ⑵ 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执
阅读全文
摘要:JVM把class文件加载到内存,并对数据进行校验、解析和初始化,最终形成JVM可以直接使用的Java类型的过程。 类加载的过程主要分为三个部分: 加载 链接 初始化 加载 链接 初始化 而链接又可以细分为三个小部分: 验证 准备 解析 验证 准备 解析 1、加载 简单来说,加载指的是把class字
阅读全文
摘要:前序遍历 中序遍历 后序遍历
阅读全文
摘要:设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put
阅读全文
摘要:一. 什么是单例模式 只需要某个类同时保留一个对象,不希望有更多对象,此时,我们则应考虑单例模式的设计。 单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。 单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间; 能够避免由于操作多
阅读全文
摘要:强引用:如果一个对象具有强引用,它就不会被垃圾回收器回收。即使当前内存空间不足,JVM 也不会回收它,而是抛出 OutOfMemoryError 错误,使程序异常终止。如果想中断强引用和某个对象之间的关联,可以显式地将引用赋值为null,这样一来的话,JVM在合适的时间就会回收该对象 。 软引用:在
阅读全文
摘要:解决方案:使用分布式数据库,引入中间件实现负载均衡,我们先把操作发给这个中间件管家,然后管家通过识别,哦~原来你要进行select操作,那么我就把你这个请求发给master,又来一个原来你需要进行的是插入insert的操作,那么我就把你这个请求发给slave,当如果有多个slave的时候,我就通过s
阅读全文
摘要:算法思想:求n位的字符串的全排列,先确定第0位,然后对后面n-1位进行全排列,在对n-1为进行全排列时,先确定第1位,然后对后面的n-2位进行全排列...由此得到递归函数和递归的结束条件。全排列也就是交换位置,到n-2位时,就是将n-2和n-1交换位置。 例子:abc,第一位是a固定,对后面的bc交
阅读全文
摘要:1.从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址. redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址
阅读全文
摘要:简介 Apache Thrift是Facebook开源的跨语言的RPC通信框架,目前已经捐献给Apache基金会管理,由于其跨语言特性和出色的性能,在很多互联网公司得到应用,有能力的公司甚至会基于thrift研发一套分布式服务框架,增加诸如服务注册、服务发现等功能。 RPC即Remote Proce
阅读全文
摘要:1.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 2. DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 3.System.setProperty("j
阅读全文
摘要:Java提供了只包含一个compareTo()方法的Comparable接口。这个方法可以个给两个对象排序。具体来说,它返回负数,0,正数来表明已经存在的对象小于,等于,大于输入对象。 Java提供了包含compare()和equals()两个方法的Comparator接口。 compare()方法
阅读全文
摘要:接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static final。另外, 接口和抽象类在方法上有区别: 1.抽象类可以有构造方法,接口中不能有构造方法。 2
阅读全文
摘要:NIO 为什么要使用 NIO? NIO 的创建目的是为了让 Java 程序员可以实现高速 I/O 而无需编写自定义的本机代码。NIO 将最耗时的 I/O 操作(即填充和提取缓冲区)转移回操作系统,因而可以极大地提高速度。 流与块的比较 原来的 I/O 库(在 java.io.*中) 与 NIO 最重
阅读全文
摘要:1、LinkedBlockingQueue: 基于链接节点的可选限定的blocking queue 。 这个队列排列元素FIFO(先进先出)。 队列的头部是队列中最长的元素。 队列的尾部是队列中最短时间的元素。 新元素插入队列的尾部,队列检索操作获取队列头部的元素。 链接队列通常具有比基于阵列的队列
阅读全文
摘要:conn.setRequestProperty("Accept-Encoding", "utf8, deflate");//注意编码,gzip可能会乱码 总结: 采集文件出现异常,用记事本打开文件查看数据,与实际页面作对比,判断是否是乱码。乱码出现的很大可能就是文件的请求编码问题
阅读全文
摘要:①继承不同 ②Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。 在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。 ③Hashtable中,key和value都不允许出现null值。 在HashMap中,n
阅读全文
摘要:Java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。现在总结一下,看看他们的不同与相同。 String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量
阅读全文