随笔分类 - Java
摘要:几个小时内的数据 DATE_SUB(NOW(), INTERVAL 5 HOUR) 今天 select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DA
阅读全文
摘要:一、mysql 1.传入时间范围参数类型是字符串 <if test="startTime!=null and startTime.trim() neq ''"> and date_format(create_time,'%Y-%m-%d %H:%i:%s') >= str_to_date(#{sta
阅读全文
摘要:程序中为什么使用缓存? 实际上适用于缓存的数据:经常查询并且不经常改变的,并且的数据的正确与否对最终结果影响不大的、不适用于缓存的数据:经常改变的数据,数据的正确与否对最终结果影响很大的。 Mybatis中的一级缓存和二级缓存到底缓存了什么,缓存了以后又有什么效果,缓存的数据什么时候会被清空? 一级
阅读全文
摘要:为了支持弹性扩缩容特性,一个微服务的提供者的数量和分布往往是动态变化的,也是无法预先确定的。因此,原本在单体应用阶段常用的静态LB机制就不再适用了,需要引入额外的组件来管理微服务提供者的注册与发现,而这个组件就是服务注册中心。 CAP理论CAP理论是分布式架构中重要理论 一致性(Consistenc
阅读全文
摘要:最近网上出现一个美团面试题:“一个线程OOM后,其他线程还能运行吗?” 我看网上出现了很多不靠谱的答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。 由于题目中给出的OOM,java中OOM又分很多类型;比如: 堆溢出(“java.lang.OutOfM
阅读全文
摘要:## Spring Cloud是什么鬼? Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。 微服务是可以独立部
阅读全文
摘要:现在公司项目里都是使用mybatis,突然有一天,看到一个奇怪的现象,在controller、service和dao都没有设置查询的 limit x,y ,但是,放开sql打印,确确实实打印了limit语句,并且实际效果也是limit的。 吓得我关了IDE,清了缓存,再试,居然还是一样的。 奇了怪了
阅读全文
摘要:2、原理描述 一个topic 可以配置几个partition,produce发送的消息分发到不同的partition中,consumer接受数据的时候是按照group来接受,kafka确保每个partition只能同一个group中的同一个consumer消费,如果想要重复消费,那么需要其他的组来消
阅读全文
摘要:栈内存: 函数中定义的基本类型变量,对象的引用变量(包含局部变量)都在函数的栈内存中分配;基本类型(primitive types), 共有8种,即int, short, long, byte, float, double, boolean, char(注意,并没有string的基本类型); 栈内存
阅读全文
摘要:本文所说的 MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的。 数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不做,其实不是没做,是可能做了一部分但是只要有一步失败,就要回滚所有操作,有点一不做二不休的意思。 假设一个网购付款的操
阅读全文
摘要:Classloader的两个任务: 1、Classloader负责将Class加载到JVM中,并且确定由那个ClassLoader来加载(父优先的等级加载机制)。 2、还有一个任务就是将Class字节码重新解释为JVM统一要求的格式 Classloader的分类: Java类加载器采用双亲委派模型:
阅读全文
摘要:Spring Bean的生命周期是Spring面试热点问题。这个问题即考察对Spring的微观了解,又考察对Spring的宏观认识,想要答好并不容易!本文希望能够从源码角度入手,帮助面试者彻底搞定Spring Bean的生命周期。 只有四个! 是的,Spring Bean的生命周期只有这四个阶段。把
阅读全文
摘要:BeanFacotry是spring中比较原始的Factory。如XMLBeanFactory就是一种典型的BeanFactory。原始的BeanFactory无法支持spring的许多插件,如AOP功能、Web应用等。 ApplicationContext接口,它由BeanFactory接口派生而
阅读全文
摘要:在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。我们将在下面的几节中依次来介绍这 7 条原则,本节首先介绍开闭原则。 开闭原则的定义 开闭原则(Open Closed Princ
阅读全文
摘要:HashSet实际上是一个HashMap实例,都是一个存放链表的数组。它不保证存储元素的迭代顺序;此类允许使用null元素。 HashSet中不允许有重复元素,这是因为HashSet是基于HashMap实现的,HashSet中的元素都存放在HashMap的key上面,而value中的值都是统一的一个
阅读全文
摘要:上班族大多都有睡懒觉的习惯,每天早上上班时间都很紧张,于是很多人为了多睡一会,就会用方便的方式解决早餐问题。有些人早餐可能会吃煎饼,煎饼中可以加鸡蛋,也可以加香肠,但是不管怎么“加码”,都还是一个煎饼。在现实生活中,常常需要对现有产品增加新的功能或美化其外观,如房子装修、相片加相框等,都是装饰器模式
阅读全文
摘要:这种问题最好的解决方案就是看文档和源码!在目前的JDK实现中HashMap和Hashtable是很相似的(The HashMap class is roughly equivalent to Hashtable, except that it is unsynchronized and permit
阅读全文
摘要:对应的DAO层 int insertOrderBatch(List<Order> list); 批量插入mapper: <insert id="insertOrderBatch" parameterType="java.util.List"> insert into table_order (id,
阅读全文
摘要:1、什么是 Spring 框架?Spring 框架有哪些主要模块? Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。 Spring 帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。 Spring 框架本身亦是按照设计模式精
阅读全文
摘要:选择redis分布式锁的原因: (1)redis有很高的性能; (2)redis对此支持的命令较好,实现起来比较方便 使用分布式锁的时候主要用到的命令介绍: (1)SETNX SETNX key val:当且仅当key不存在时,set一个key为val的字符串,返回1;若key存在,则什么都不做,返
阅读全文

浙公网安备 33010602011771号