我是福克斯,闲来无事,随便写写。欢迎大家多多交流
ISAM:ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MYSQL能够支持这样的备份应用程序。MyISAM:MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MyISAM还使用一种表格锁定的机制,来优化多个并发的读写操作,其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。MyISAM还有一些有用的扩展,例如用来修复数据库文件的MyISAMCHK工具和用来恢复浪费空间的 MyISAMPACK工具。MYISAM强调了快速读取操作,这可能就是为什么MySQL受到了WEB开发如此青睐的主要原因:在WEB开发中你所进行的大量数据操作都是读取操作。所以,
转自:https://blog.csdn.net/BinBin_Jun/article/details/849341121、在java中守护线程和本地线程区别?java中的线程分为两种:守护线程(Daemon)和用户线程(User)。任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(bool on);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。两者的区别: 唯一的区别是判断虚拟机(JVM)何时离开,Daemon是为其他线程提供服务,如果全部的User Thread已经撤离,Daemon 没有可服务的线程,JVM撤离。也可以理解为守护线程是JVM自动创建的线程(但不一定),用户线程是程序创建的线程;比如JVM的垃圾回收线程是一个守护线程,当所有线程已经撤离,不再产生垃圾,守护线程自然就没事可干了,当垃圾回收线程是Java虚拟机上仅剩的线程时,Java虚拟机会自动离开。扩展:Thread Dump打印出来的线程信息,含有daemon字样的线
面试题1. Spring中bean的循环依赖怎么解决?(一). 首先说一下什么是Spring的循环依赖:其实就是在进行getBean的时候,A对象中去依赖B对象,而B对象又依赖C对象,但是对象C又去依赖A对象,结果就造成A、B、C三个对象都不能完成实例化,出现了循环依赖。就会出现死循环,最终导致内存溢出的错误。(二).如何去解决Spring的循环依赖呢?1.先知道什么是Spring的“三级缓存”:就是下面的三个大的Map对象,因为Spring中的循环依赖的理论基础其实是基于java中的引用传递的,然后其实Spring中的单例对象的创建是分为三个步骤的:createBeanInstance,其实第一步就是通过构造方法去进行实例化对象。但是这一步只是实例对象而已,并没有把对象的属性也给注入进去然后这一步就是进行注入实例对象的属性,也就是从这步对spring xml中指定的property进行populate最后一步其实是初始化XML中的init方法,来进行最终完成实例对象的创建。但是AfterPropertiesSet方法会发生循环依赖的步骤集中在第一步和第二步。singletonObje
什么是springboot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 main方法运行 嵌入的Tomcat 无需部署war文件 简化maven配置
转自:https://blog.csdn.net/taurus_7c/article/details/83721789Eureka 常见问题Eureka注册服务慢默认情况下,服务注册到Eureka Server的过程较慢。在开发或者测试时,常常希望能够加速这一过程,从而提升工作效率。Spring Cloud官方文件详细描述了该问题的原因并提出了解决方案:服务的注册涉及到周期性心跳,默认30s一次(通过客户端配置的serviceUrl)。只有当实例、服务器端和客户端的本地缓存中的元数据都相同时,服务才能被其他客户端发现(所以可能需要3次心跳)。可以使用参数 eureka.instance.leaseRenewalIntervalInSeconds 修改时间间隔,加速客户端连接到其他服务的过程。ps: 再生产环境中最好坚持使用默认值,因为在服务器内部有一些计算,它们会对续约做出假设。上述原文出自:http://cloud.spring.io/spring-cloud-static/Camden.SR1/#_why_is_it_so_slow_to_register_a_
1. 什么是进程进程是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间)。 比如用户点击桌面的IE浏览器,就启动了一个进程,操作系统就会为该进程分配独立的地址空间。当用户再次点击左边的IE浏览器,又启动了一个进程,操作系统将为新的进程分配新的独立的地址空间。目前操作系统都支持多进程。2. 什么是线程进程是表示自愿分配的基本单位。而线程则是进程中执行运算的最小单位,即执行处理机调度的基本单位。通俗来讲:一个程序有一个进程,而一个进程可以有多个线程。3. 多线程的几种实现方式(1) 继承Thread类创建线程Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法将启动一个新线程,并执行run()方法。这种方式实现多线程比较简单,通过自己的类直接继承Thread,并重写run()方法,就可以启动新线程并执行自己定义的run()方法。(2) 实现Runnable接口创建线程如果自己的类已经继承了两一个类,就无法再继承Thread,因此可以实现一个Runnable接
转自:https://blog.csdn.net/u010419967/article/details/45916677 线程A需要资源X,而线程B需要资源Y,而双方都掌握有对方所要的资源,这种情况称为死锁(deadlock),或死亡拥抱(the deadly embrace)。在并发程序设计中,死锁 (deadlock) 是一种十分常见的逻辑错误。通过采用正确的编程方式,死锁的发生不难避免。死锁的四个必要条件------------------------------在计算机专业的本科教材中,通常都会介绍死锁的四个必要条件。这四个条件缺一不可,或者说只要破坏了其中任何一个条件,死锁就不可能发生。我们来复习一下,这四个条件是:互斥(Mutual exclusion):存在这样一种资源,它在某个时刻只能被分配给一个执行绪(也称为线程)使用;持有(Hold and wait):当请求的资源已被占用从而导致执行绪阻塞时,资源占用者不但无需释放该资源,而且还可以继续请求更多资源;不可剥夺(No preemption):执行绪获得到的互斥资源不可被强行剥夺,换句话说,只有资源占用者自己
转自:https://blog.csdn.net/u012998254/article/details/794005491、线程与进程进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。区别不同 a,地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间; b,资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资 c,线程是处理器调度的基本单位,但进程不是. d,二者均可并发执行.2、 守护线程在J
转载自:https://blog.csdn.net/weixin_43495390/article/details/86533482JAVA基础JAVA中的几种基本类型,各占用多少字节?下图单位是bit,非字节 1B=8bitString能被继承吗?为什么?不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。平常我们定义的String str=”a”;其实和String str=new String(“a”)还是有差异的。前者默认调用的是String.valueOf来返回String实例对象,至于调用哪个则取决于你的赋值,比如String num=1,调用的是public static String valueOf(int i) {return Integer.toString(i);}后者则是调用如下部分:public String(String original) {this.value = original.value;this.hash = original.hash;}最后我们的变量都存储在一个char数组中private f
转载自:https://blog.csdn.net/crazymakercircle/article/details/82555359。其实原文也是转载的,但是原文没有写明转载自何处,所以我只能把我转载自何处写在这里。如下题目如果全部能搞定,至少涨薪50%:[第一部分] 面试要领[第1题] 流程必知必会[第2题] JDK源码[第二部分] 类和对象[第二篇] 面向对象基础[第1题] 面向对象是什么?[第2题] 类加载的过程[第3题] 类加载器有哪些[第4题] 双亲委派模式[第5题] 编写自己的类加载器[第6题] 对象的创建[第7题] jvm的优化[第8题] 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?[第9题] JDK和JRE的区别是什么?[第10题] ”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?[第11题] 是否可以在static环境中访问非static变量?[第12题] Java支持的数据类型有哪些?什么是自动拆装箱?[第13题] Java中的方法覆盖(Overriding)和方法重载
admin
这个人很懒,什么都没写!!!