随笔分类 - java 深入
摘要:mybatis与hibernate的区别 面试者:1. 开发 1.1难易度 Hibernate的开发难度要大于Mybatis,真正掌握要比Mybatis困难,Hibernate比mybatis更加重量级一些。 Mybatis框架相对简单很容易上手,但也相对简陋些。 1.2工作量 hibernate开
阅读全文
摘要:HashSet源码312行。 对于HashSet而言,它是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet 的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成 Hash值一样的情况下,调用equals()方法
阅读全文
摘要:hashMap 源码 1192行。 一、HashMap概述 HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别
阅读全文
摘要:List 源码 600行。 List源码比较简单,里面就是定义了一些方法 读取(get),插入(add),删除(remove),修改(set) 也可批量增加(addAll),删除(removeAll,retainAll) 获取(subList)。 还有一些判定操作: 包含(contains[All]
阅读全文
摘要:dubbo有两个概念,一个是提供服务方,一个是消费方,我们也叫提供服务者,和消费者。 Zookeeper就是dubbo的服务中心,首先服务方要编写出真正的实现,把接口和VO对象打成jar包,为消费者提供依赖, 编写完真正的实现后我们需要注册到zookeeper服务中心,然后消费者连接zookeepe
阅读全文
摘要:1算法 排序 选择排序 冒泡排序 希尔排序2数据结构 数组 集合 队列 栈 先进后出 堆 (堆是一种经过排序的树形数据结构) 完全二叉树 平衡二叉树 红黑树 3设计模式 工厂模式 单例模式 代理模式 策略模式 (我理解的只有这几个) 迭代器模式 (工作中没有具体使用 只有粗略的使用到) 工厂模式:工
阅读全文
摘要:https://www.cnblogs.com/snake23/p/9635822.html 引擎的介绍 primarykey 主键 PERIMARY KEYforeign key 外键 FOREIGN KEYreferences 连接 REFERENCESauto increment 自动增长 A
阅读全文
摘要:redis概念 1基于内存 2缓存 3非关系型数据库 4单线程 5异步 6 快速读写 (10万/s)没问题 NIO -> 面向缓冲 异步 非阻塞 选择器控制(一个线程可以控制多个通道)
阅读全文
摘要:JDBC编程 JAVA程序通过JDBC链接数据库,这样我们就可以通过SQL对数据库进行编程。 JAVA链接数据库大致分为5步。 1.使用JDBC编程需要链接数据库,注册驱动和数据库信息。 2.操作Connection,打开Statement对象。 3.通过Statement执行SQL语句,返回结果放
阅读全文
摘要:redis的三种集群方式 redis有三种集群方式:主从复制,哨兵模式和集群。 1.主从复制 主从复制原理: 从服务器连接主服务器,发送SYNC命令; 主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令; 主服务器BGSAVE执行完后,向所有从服
阅读全文
摘要:eureka 注册ip 端口号 ( 不再开源!!)Feign创建一个代理类 整合 对接口 创建动态代理动态构造出你要请求的服务地址 feign就会针对这台机器 的构造发起请求 hystrix 隔离 熔断 降级 如果一个单一的服务模块挂掉了 hystrix进行熔断 降级 将信息保存在数据库中 当服务启
阅读全文
摘要:什么是异步?例如:发送一个请求不需要在线等待结果 稍后我再处理什么是同步?例如:发送多个请求第一个请求需要等待执行完毕获取数据 就是 发送请求一直等待结果处理完成 才可以进行下个请求 什么情况下会造成强耦合?如果多个函数嵌套 异步执行就会造成强耦合强耦合会造成线程阻塞和程序报错不能运行卡顿等现象 形
阅读全文
摘要:大致这几个方面 高并发架构上 可以做页面静态化 CDN 缓存服务器图片缓存 css js存放 CDN nginx tomcat集群部署 数据库分库分表 读写分离 缓存 用redis 日志频繁插入 使用MangoDB 搜索elastesearch solr 分担数据库压力 代码上问题击穿缓存穿透缓存雪
阅读全文
摘要:GC算法概述 引用计数法 添加引用(计数器) 如果有引用就+1 该对象 引用失效时 计数器-1 任何时刻 计数器为0就是不可用的 (判断效率高 但是对象之间的循环 难解决)可达性算法 判断对象是否存活 GC Roots 对象作为起始点 开始向下搜索 当一个对象没有GC Roots时没有(引用链)相连
阅读全文
摘要:确定 付款方式 一共有三种 1 第三方平台付款 微信支付宝 第三方平台通知卖家已经收款 可以发货 客户收货成功 第三发把货款打入 卖家账户2 第二种是 网银在线支付 支付完 进行收款确认 确认收到付款 才进行发货3 第三种 是货到付款 客户要求 与商家 一手交钱一手交货这样的方式 进行交易 这样一般
阅读全文
摘要:三大核心执行顺序 类加载器 解析 .class文件 转为虚拟机可以识别的二进制机器码 执行引擎 解析 字节码文件 使用执行引擎 驱动去加载机器码 运行时数据区 解析 它包含 五大模块 (方法区 虚拟机栈 本地方法栈 堆 程序计数器) 基本的加载流程如下: 1)寻找jre目录,寻找jvm.dll,并初
阅读全文
摘要:eureka 注册ip 端口号Feign创建一个代理类 整合 对接口 创建动态代理动态构造出你要请求的服务地址 feign就会针对这台机器 的构造发起请求 hystrix 隔离 熔断 降级 如果一个单一的服务模块挂掉了 hystrix进行熔断 降级 将信息保存在数据库中 当服务启动了 再进行具体操作
阅读全文
摘要:@RestController 远程调用接口 1、@controller 控制器(注入服务) 用于标注控制层,相当于struts中的action层 2、@service 服务(注入dao) 用于标注服务层,主要用来进行业务的逻辑处理 3、@repository(实现dao访问) 用于标注数据访问层,
阅读全文
摘要:Spring Boot 之Spring Boot Starter依赖包及作用 spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。 spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议(Adva
阅读全文
摘要:MD5消息摘要算法(英语:MD5 Message-Digest Algorithm), 一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致 特性 :防止反推 附上代码 仔细研究一下代码 瞬间就懂MD5了 import sun.m
阅读全文

浙公网安备 33010602011771号