开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情
今日份的学习继续呀!
问题【1】bookstore中的编码是什么呢?
mysql中有四层编码,包括字段、表、数据库、系统四个层次,我以前遇到过很多这样的问题,很是恼,最后我用了最绝的一招就都搞定了,就是再重装或新装mysql的时候,在选择字符集的时候,不要默认为latin-1而是选择utf8就可以了,这样之后,就再没有中文乱码了,可以一试
问题【2】如何在Java 中实现多线程呢?
继承Thread类创建线程 Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己定义的run()方法。例如: 复制代码
public class MyThread extends Thread { public void run() {
System.out.println("MyThread.run()");
} }
MyThread myThread1 = new MyThread();
MyThread myThread2 = new MyThread();
myThread1.start();
myThread2.start();
问题【3】Ruby是用来学习的最好的编程语言吗?
Ruby常常被用来与Python的可读性进行比较,它提供类英语的语法,这让 Ruby 成为一个完美的候选者,最适合作为第一个编程语言来学习。
问题【4】在Java中,怎么判定对象已经“死去”? 常见的判定方法有两种:引用计数法和可达性分析算法,HotSpot中采用的是可达性分析算法。
引用计数法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。 客观地说,引用计数算法的实现简单,判定效率也很高,在大部分情况下它都是一个不错的算法,但是主流的Java虚拟机里面没有选用引用计数算法来管理内存,其中最主要的原因是它很难解决对象之间相互循环引用的问题。
可达性分析算法:这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连(用图论的话来说,就是从GC Roots到这个对象不可达)时,则证明此对象是不可用的。