自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (9)
  • 收藏
  • 关注

原创 MySQL中MVCC的使用及原理详解

MySQL数据库默认隔离级别:RR可重复读MVCC只适用于RC、RR隔离级别;1)RC:读取提交的内容,可避免发生脏读。也就是事务只能看到已经提交事务所作的改变,支持不可重复读;2)RR:可重读;可避免脏读、不可重复读的发生;1、MVCCmulti-version concurrency Control多版本并发控制,乐观锁的实现方式;适用范围广泛;通过保存数据在某个时间点的快...

2019-08-30 17:02:12 1012

原创 Java阿里+美团一面问题总结-8.30

阿里一面1、首先讲自己的项目,项目的主要功能;流程设计;打分的原理,怎么保证这个分值较为准确;1)首先进行阈值测量,看我的阈值设置多少范围;2)根据阈值进行打分;距离计算以及时间计算的原理;约束条件的考虑;相关算法进行实现描述和分析;遇到的难点有哪些;分配策略主要有哪些?贪心策略的任务分配具体讲一下,原理是什么?流程是什么?2、研三是否实习?3、HashMap和Ha...

2019-08-30 11:34:47 211

原创 二叉树镜像Java-剑指offer+二叉树插入节点

题目描述操作给定的二叉树,将其变换为源二叉树的镜像。解题思路1、递归方法实现:先判断是否为空,或者左右节点为空,这种直接return;如果不为空直接左右节点交换,交换直接递归交换根节点的左节点,再递归交换根节点的右节点;直到遍历左右节点。2、栈的实现:利用栈的先进后出的特性进行实现。将根节点push到栈中,如果栈不为空,先pop根节点,然后进行交换;再遍历交换左节点,交换;再遍...

2019-08-29 15:56:00 167

原创 树的子结构Java-剑指offer

题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)解题思路1、比较根节点val相同,则进行左右节点的比较:(如果b为空了,那直接输出true。如果a为空,b不为空,则输出false;如果两者不为null,比较节点值,再进行比较左右节点);2、如果根节点val不同,则进行比较a的根节点的左节点,递归比较;3、如果根节点val不同...

2019-08-29 15:17:01 115

原创 堆排序实现+分析

堆排序package pratice826;//堆排序-最小顶堆public class Main { public static void main(String[] args) { int nums[] = {16,7,3,20,17,8}; headsort(nums); for(int i=0;i<nums.leng...

2019-08-28 11:37:08 115

原创 Spring的IOC和AOP及数据库读写分离

详情:https://www.zhihu.com/tardis/sogou/art/58006579实现AOP技术:1)动态代理: 采用消息截取,对该消息进行装饰,以取代原对象行为的执行;2)静态织入:引入特定的语法创建方面,使得编译器可以编译期间织入有关的代码;例如biz层实现打印“你好”,其他类中用ref=”biz.*”,就可以实现打印;Spring优点:降低组件耦合,...

2019-08-28 11:36:12 248

原创 拼多多一面、二面-Java工程师

1、自我介绍2、自己的项目进行介绍3、MySQL的作用和机制4、数据库事务特性、每一个细问、四种隔离类型,每个类型对应的作用脏读是什么?哪些可以避免脏读?幻读是什么?哪些可以避免换的?5、两个系统的事务怎么进行通信的,例如工商银行和农业银行进行两个事务的通信?分布式事务处理:1)全局消息;2)基于可靠消息事务服务;3)最大通知;银行,基于可靠消息服务实现细节:通...

2019-08-27 17:51:17 1081

转载 java项目缓存技术

https://blog.csdn.net/baidu_33497625/article/details/50801571一、什么是缓存1、Cache是高速缓冲存储器 一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问2、凡是位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为 Cache二、缓存的分类1、基于web应用的系统架构图...

2019-08-27 14:31:19 1629

原创 Java项目中使用Redis缓存解析、与MySQL和MongoDB对比

1、Redis先缓存中取数据,如果换成没有就去数据库取数据,然后数据也存入缓存中。(service层实现)如果进行修改和删除数据,缓存同步: 删除缓存,处理数据,数据放入缓存;1)常用命令连接操作命令:quit关闭连接;auth:简单密码验证;help cmd:查看帮助持久化:save:数据同步保存到磁盘;bgsave:数据异步保存到磁盘;shutdown:同步保存到磁盘...

2019-08-27 10:36:34 920

原创 数据库事务特性和隔离级别-详情解析

1、数据库事务的四大特性ACID支持事务的数据库必须有这四大特性,否则不能保证数据的正确性。原子性Atomicity:事务内所有操作共同组成原子包;要么全部成功,要么全部失败,保存特殊因素导致数据库宕机,仍然正确。 一致性Consistency:事务执行前后都必须处于一致性状态;一致性基于原子性,原子性保证一个事务内的所有操作同一性,但是如果事务提交一半,会不会有中间结果呢?为了防止这样...

2019-08-26 21:51:33 164

转载 select和epoll区别和概述

1、select调用select发生以下事情:1)从用户空间拷贝fd_set到内核空间;2)注册回调函数_pollwait;3)遍历所有的fd,对全部指定的设备做一次poll(poll指一个文件操作,有两个参数,一个是文件fd本身,一个是当设备尚未就绪时调用的回调函数,这个函数将设备自己特有的等待队列传给内核,让内核把当前进程挂载到其中)。4)设备就绪就唤醒自己特有等待队列中的...

2019-08-26 21:27:55 261

原创 Java常见知识点总结-8.15

整体以我的项目:任务分配策略管理系统为例1、web项目用到的技术栈、主要负责的内容作为项目负责人,一直跟踪项目的需求分析、原型设计、系统设计开发、测试、迭代开发以及算法研究和实现;然后前端使用了BootStrap,使用Eclipse进行开发,使用了框架SpringMVC但是可能用的较浅,还在进行深入了解。然后用到了多线程(多个用户进行任务执行,例如同时执行一个任务,那这时候,任务所...

2019-08-15 17:50:54 150

原创 高并发性能调优

原来写了一些关于性能优化的,这次根据新学习的知识做一些补充。首先看一下牛客给的答案:1、提高CPU并发计算能力(1)多进程&多线程(2)减少进程切换,使用线程,考虑进程绑定CPU(3)减少使用不必要的锁,考虑无锁编程(4)考虑进程优先级(5)关注系统负载2、改进I/O模型(1)DMA技术(2)异步I/O(3)改进多路I/O就绪通知策略,epoll...

2019-08-14 16:15:12 433

原创 Socket的三种通信模型-BIO、NIO和AIO

1、BIO编程一个连接一个线程1)传统的BIO编程网络编程的基本模型是C/S模型,即两个进程间的通信;HTTP请求之后,进行域名解析、三次握手建立连接、连接成功之后,套接字进行通信;传统的就是同步阻塞,双方是输入和输出流同步阻塞通信;通常由一个独立的Acceptor线程负责监听客户端的连接,接收客户端请求之后为每个客户端建立新线程进行链路处理,通过输出流返回给客户端,然后再...

2019-08-14 12:57:47 5028

转载 排序算法总结分析-Java

十大排序算法Java实现https://blog.csdn.net/dp_dp/article/details/80543290

2019-08-13 20:46:15 135

转载 BTree和B+Tree详解

一直理不清楚,今日详细学习一下!B+索引是B+树在数据库中的一种实现,最为常见的。B+树种的B代表平衡,而不是二叉。1、二叉查找树二叉树的左子树的键值小于根的键值,右子树的键值大于根的键值。二叉查找树可以任意构造,但是可能有些构造情况可能导致查找效率低。如果想让二叉树查询效率尽可能的高,需要二叉树是平衡的,所以有AVL平衡二叉树。2、平衡二叉树AVL Tree符合...

2019-08-13 15:52:42 1046

原创 总结一些问题并进行解析-Java基础

1、介绍项目,你的难点和解决方式这个就自己琢磨吧2、hashmap底层实现?有哪些是线程安全的?当冲突的时候怎么解决?当hash值相同时,怎么进行比较?JDK1.7以及之前,是数组+链表;JDK1.8及以后就是数组+链表+红黑树;这里就可能引入红黑树的特点:平衡多叉树,根为黑色,叶子为黑色,查找快速,但是删除和插入有些麻烦,例如没有父节点的插入就直接插入,如果想插入为红色,父节点需...

2019-08-12 00:53:52 109

转载 线程池的重要参数说明

1、ThreadPoolExecutor的重要参数1)corePoolSize核心线程数核心线程一直存活,即使没有任务需要执行。当线程数小于核心线程数时,即使线程空闲,线程池也会优先创建新线程处理;2)queueCapactiy任务队列容量(阻塞队列)当核心线程数达到最大时,新任务会放在队列中排队等待执行;3)maxPoolSize最大线程数当前线程数>=corePo...

2019-08-10 17:30:59 440

转载 手写生产者/消费者模式(三种实现方式)

生产者消费者模式需要满足:1)生产者生产数据到缓冲区中,消费者从缓冲区中取数据;2)缓冲区蛮,生产者线程阻塞;3)缓冲区为空,消费者线程阻塞;分析1)定义缓存队列,选择一个集合当作缓存,给与缓存上线,缓存队列只有两种行为(生产数据和消费数据)。2)定义生产者线程,调用缓存队列中的生产行为;3)定义消费者线程,调用缓存队列中的消费者行为第一种方式:双向链表Link...

2019-08-10 16:13:00 681 1

原创 TreeMap实现原理

实现了SortedMap接口,是一个有序的集合,是一个红黑树接口,每个key-vlaue作为红黑树的节点,没有指定顺序则是根据key执行自然排序。1、继承了AbstractMap类,实现了接口implements NavigableMap<K,V>, Cloneable, java.io.Serializable可以自然排序,可以定制排序,Entry root = nul...

2019-08-10 15:04:10 422

原创 Java反射机制

1、什么是反射机制反射就是运行状态中,对于任何一个类,都能知道类的方法和属性,并且能够调用。这种动态获取对象信息和调用对象方法的功能称之为反射。所谓反射就是获取类得字节码文件,也就是.class文件。2、反射的获取字节码的三种方式1)Class c = t.getClass(); 返回t对象的运行时类;这个方法时Object的一个方法,继承了Object,所以直接使用;2)Clas...

2019-08-07 16:32:11 108

原创 Java常见的问题总结

1、HashMap根据键进行存储数据,快速访问遍历,取得数据完全随机。不支持线程同步。同一时刻可以有多个线程同时写HashMap,可能导致数据不一致。如果需要同步,可以使用Collections的synchronizedMap方法使HashMap具有同步的能力,或者使用ConcurrentHashMap。2、Volatile保证有序性和可见性。编译器和CPU会做重排序,重排序是为了减少...

2019-08-07 11:39:35 452

原创 Java中static关键词的解析

方便在没有对象的情况下进行调用方法或者变量。1、static方法没有this,static方法内部不能调用非静态方法。不依赖对象,依赖类。可以通过类名调用。而非静态方法和非静态成员都是依赖具体对象才能被调用。2、static变量静态变量被所有对象共享,在内存中只有一个副本,当且仅当类初次加载时会被初始化。而非静态变量是对象所拥有,创建对象的时候被初始化,存在多个副本,各个对象拥有的...

2019-08-06 11:42:13 88

原创 Java后台返回复杂数据、大数据给前端分析

一个网页同时返回大量格式长短不同的数据。后台角度:数据具有相同接口,通过网址链接请求,服务器数据库种获取相应的数据,进行整理在一个json或其他格式返回到当前页面。具体:1)依据需求文档,接口文档,数据库获取原数据在后台存储;后台获取json,json与String、ArrayList等数据格式转换。2)分析需求,数据转存味hashmap或arraylist方便一起传输。3)组合为一个字符...

2019-08-04 15:22:40 1725

原创 组件化和模块化总结

模块:主要是业务模块,单指业务。按照项目的业务拆分,例如,用户模块、首页模块、商城模块、电影模块等。组件:主要对功能的封装,一个功能就是一个组件,Io\数据库\网络都是功能组件。基础功能组件、通用UI组件、基础业务组件。例如,基础组件的登录组件、地图组件、支付组件、直播组件、IM组件。然后业务组件有:电影组件、首页组件、我的组件、商城组件等。模块之间需要考虑,模块之间页面跳转、数据传递、初...

2019-08-04 14:47:45 352

原创 进程和线程区别及通信方式总结-Java 基础

进程:资源分配的基本单位,切换耗费资源多,操作系统含多个进程,进程含多个线程。分配不同内存空间。线程:调度执行的基本单位,切换快速,共享地址空间,通信方便。资源利用率好,需要考虑互斥与同步;同一类线程共享代码和数据空间,但是有独立运行栈和程序计数器。不给分配空间,除了cpu,共享资源。通信方式1、线程共享地址1)锁机制,互斥锁(排他,防止并发修改)、条件变量(以原子方式阻塞进程,直...

2019-08-04 11:39:29 860

转载 web前端性能优化方法总结、移动页面性能优化-超级全面

web性能优化的具体方法(way)一)内容层面1、DNS解析优化(DNS缓存、减少DNS查找、keep-alive、适当的主机域名) 2、避免重定向(/还是需要的) 3、切分到多个域名 4、杜绝404二)网络传输阶段1、减少传输过程中实体的大小 1)缓存 2)cookie优化 3)文件压缩(Accept-Encoding:g-zip)...

2019-08-04 10:58:16 228

转载 Http与HTTPs的区别?

1、http协议用于客户端与服务端通信;无状态:不保存请求和响应信息,每次来请求都是新的。虽然http是无状态协议,但是为了实现保持状态功能,引入了Cookie技术,可以用来管理状态。Get:用来请求已被URL识别的指定资源,指定资源被服务端解析后返回相应的内容;Post:用来传输实体主体;get也可以,但是一般不用;Put:传输文件:要求请求报文的主体包含文件的内容,然后保存...

2019-08-03 22:10:09 123

APP开发技术解决方案模板

APP开发技术解决方案模板,项目概述 项目说明 项目背景 项目目标 项目建设内容 项目建设目标 系统总体需求 总体需求概述 项目主要功能介绍 开发技术需求 其他需求 接口需求 安全需求 性能需求 技术实现方案 总体设计 安全体系建设 数据库结束 开发中工具的使用 开发规范 总体设计 系统设计概述 系统功能结构设计 业务功能流程分析图 系统详细设计 用户界面设计 后台管理设计 系统功能设计

2019-02-17

android-support-4.0.jar.

android-support-4.0.jar. android-support-4.0.jar. android-support-4.0.jar. android-support-4.0.jar.

2017-11-06

appcompat7

2015 Android最新的v7,v4包,包含最新更新控件 ,2015 Android最新的v7,v4包,包含最新更新控件

2017-10-18

mysql-connector-java-5.0.8-bin

mysql-connector-java-5.0.8-binmysql-connector-java-5.0.8-binmysql-connector-java-5.0.8-binmysql-connector-java-5.0.8-binmysql-connector-java-5.0.8-bin

2017-10-17

servlet-api.jar(tomcat7.0)

servlet-api.jar(tomcat7.0)支持servlet的jar包。应该叫servlet-api.jar 你如果编写过servlet就知道要用到HttpServletRequest和HttpServletResponse等对象,这些对象都是要靠这个jar包才能使用的。 如果你安装了Tomcat,这个jar包一般在tomcat安装目录\lib 文件夹下面有,当你把web项目部署到tomcat,会自动加载这个jar包来识别Serlvet一些对象。

2017-10-16

sqlserver2008安装包

sqlserver2008安装包,sqlserver2008完整版安装包,需要的朋友可以下载使用哦

2017-10-11

向上导航栏

向上的导航栏,可以直接使用

2017-03-28

fontsize rem

rem换算定义,根据界面大小与px进行单位换算

2017-03-28

jquery-1.11.1.min

jquery-1.11.1.min.js可以进行直接调用,

2017-03-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除