自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 面试总结12——场景题

高并发解决尽量使用缓存,包括用户缓存,信息缓存等,可以大量减少与数据库的交互,提高性能。 页面静态化 使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。 使用Ngnix负载均衡 优化数据库查询语句,优化数据库结构,索引,提高查询效率,数据库集群和库表散列 使用线程安全的集合对象 使用线程池。秒杀1,优化:将请求尽量拦截在系统上游(不要让锁冲突落到数据库上去)充分利用缓存:秒杀买票,这是一个典型的读多写少的应用场景2,基本架构(1)浏览器端,最

2020-06-06 15:09:25 1131

原创 面试总结8——Java虚拟机

平台无关性Java 源文件---->编译器----->字节码文件字节码文件----->JVM(解释器)----->机器码每一种平台的解释器是不同的,但是实现的虚拟机是相同的当一个程序从开始运行,这时虚拟机就开始实例化了,多个程序启动就会存在多个虚拟机实例。多个虚拟机实例之间数据不 能共享。Java内存区域运行时数据区域 程序计数器:行号指示器,用于保证线程切换 Java虚拟机栈:java方法执行的内存模型 本地方法栈:nativ...

2020-06-06 14:58:44 357

原创 面试总结10——Java 线程安全

同步类容器和并发类容器同步类容器如古老的Vector、Hashtable。这些容器的同步功能其实都是有JDK的Collection.synchronized等工厂方法去创建实现的。其底层的机制无非就是用传统的synchronized关键字对每个公共的方法都进行同步,使得每次操作只能有一个线程去访问容器的状态。并发类容器jdk5.0以后提供了多种并发类容器来替代同步类容器从而改善性能,并发类容器时专门针对并发设计的:使用ConcurrentHashMap来代替基于散列的Hashtable,并

2020-06-06 14:57:05 312

原创 面试总结11——Java 锁

Synchronized底层实现原理Java对象头+MonitorSynchronized 通过在对象头中(MarkWord)设置标记实现了这一目的,是由 JVM 实现的一种实现互斥同步的一种方式,JVM基于进入和退出Monitor对象来实现方法同步和代码同步,被 Synchronized 修饰过的程序块,在编译前后被编译器生成了monitorenter和monitorexit两个字节码指令。 在虚拟机执行到monitorenter指令时,首先要尝试获取对象的锁,如果这个对象没有锁定,...

2020-06-06 14:54:20 327

原创 面试总结9——Java多线程

Semaphore信号量Semaphore 是一种基于计数的信号量。它可以设定一个阈值,基于此,多个线程竞争获取许可信号,做完自己的申请后归还,超过阈值后,线程申请许可信号将会被阻塞。Semaphore 可以用来 构建一些对象池,资源池之类的,比如数据库连接池实现互斥锁(计数器为 1)我们也可以创建计数为 1 的 Semaphore,将其作为一种类似互斥锁的机制,这也叫二元信号量, 表示两种互斥状态。Semaphore 与ReentrantLockSemaphore 基本能完成 Reen.

2020-06-06 14:50:16 307

原创 面试总结7——Java基础

基本类型Java随机数1, double b = Math.random(); //返回值是[0.0,1.0)生成 1~100 int I = (int) (Math.random()*100+1);生成n~m之间的随机整数:int num = (int) (Math.random()*(m-n+1)+n);2, Random类:Random r1 = new Random(); // 不带种子的构造器;Random r2 = new Random(System.curre...

2020-06-05 22:19:13 391

原创 面试总结6——杂七杂八总结

此部分为面试过程中遇到或者其他人的面经中看到的,也整理了下来,杂七杂八没有分类socket编程应用层与TCP/IP协议族通信的中间软件抽象层,表现为一个封装了TCP/IP协议族的编程接口。 应用程序可以通过它发送或接收数据,可对其像对文件一样的打开、读写和关闭。 应用程序利用套接字与网络中的其他应用程序进行通信。 Tcp连接的端点,是ip地址:端口号的组合。定义:套接字使用TCP提供了两台计算机之间的通信机制。服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监

2020-06-05 22:08:25 404

原创 面试总结5——数据库

数据库三大范式规范的来优化数据数据存储方式。规范化目的是使结构更合理,消除存储异常,使数据冗余尽量小。便于插入、删除和更新。第一范式:列不可再分 第二范式:非主属性完全依赖于主属性 第三范式:非主属性不传递依赖于码。三大范式只是一般设计数据库的基本理念,可以建立冗余较小、结构合理的数据库。如果有特殊情况,当然要特殊对待,数据库设计最重要的是看需求跟性能,需求>性能>表结构。所以不能一味的去追求范式建立数据库。事务事物的4大特征(ACID):原子性:...

2020-06-05 21:42:13 1626

原创 面试总结4——操作系统

主要参考于这个博主https://blog.csdn.net/justloveyou_的一些文章,并根据自己的面试经验做了相关的补充。操作系统操作系统操作系统的作用存储管理:存储的分配与回收(为进程分配存储空间)、存储的保护(防止进程间互相干扰)、地址映射(进程的逻辑地址映射到物理地址)、存储扩充(覆盖、交换、虚拟存储)。 处理机调度:归结为对进程的管理,进程调度、进程控制、进程同步、进程通讯。 设备管理:缓冲管理、设备分配和回收、设备处理、设备独立性。 文件管理:文件存储空间管理、目

2020-06-05 21:33:35 409

原创 面试总结3——计算机网络

主要参考于这个博主https://blog.csdn.net/justloveyou_的一些文章,并根据自己的面试经验做了相关的补充。层次结构计算机网络的体系结构:1,OSI七层:结构清楚,理论完整,复杂不实用,层次划分不合理,功能重复出现。应用层:应用进程之间相互通信和交互,DNS、HTTP、FTP、SMTP,交互的数据称为报文 表示层:信息的加密,解密,压缩,解压缩等。 会话层:不同机器上的用户之间建立和管理会话。 运输层:为两台主机的进程之间的通信提供通用的数据传输服务。一台主机

2020-06-05 21:29:35 3746 1

原创 面试总结2——数据结构

主要参考于这个博主的一些文章,https://blog.csdn.net/justloveyou_并根据自己的面试经验做了相关的补充。树二叉树有哪些类型,分别有什么特点二叉树:每个结点至多有两个子树。满二叉树:除叶结点外所有的节点都有左右节点,且叶结点都在最下一层(层数为k,结点总数为(2^k)-1,第i层上的结点数为2^(i-1)个)。节点数为n,则高度为:logn+1完全二叉树:最下面一层的叶结点都依次排列在该层从左到右的位置上,且叶结点只出现在最下面的二层中。二叉查找树:左子树

2020-06-05 21:16:37 448

原创 面试总结1——排序算法

主要参考于这个博主https://blog.csdn.net/justloveyou_的一些文章,并根据自己的面试经验做了相关的补充。排序算法比较排序和非比较排序常见的排序算法都是比较排序,非比较排序包括计数排序、桶排序和基数排序,非比较排序对数据有要求,因为数据本身包含了定位特征,所有才能不通过比较来确定元素的位置。 比较排序的时间复杂度通常为O(n^或者O(nlogn),比较排序的时间复杂度下界就是O(nlogn),而非比较排序的时间复杂度可以达到O(n),但是都需要额外的空间开销。为什

2020-06-05 21:04:37 479

原创 Python安装后,运行 报错“api-ms-win-crt-runtimel1-1-0.dll文件缺失”

参考的博客地址:https://blog.csdn.net/sinat_27535209/article/details/79346412win8 64位系统,安装python3.7以后,运行 报错“api-ms-win-crt-runtimel1-1-0.dll文件缺失”下载安装VC redist,默认安装的,然后重启就可以了 ...

2018-07-10 21:07:56 1503

原创 python 3.5.3+numpy+matplotlib安装

一、python安装1,python官网下载python 3.5.3下载地址:https://www.python.org/downloads/windows/找到想要下载的版本,这里我下载的是python 3.5.32,下载下来后,双击开始安装,注意这里要选中 Add Python 3.5 to PATH,这个意思就是把python加入到环境变量中,这样随便在哪个路径下就都可

2018-01-02 14:58:24 1250

c++ 学生管理系统

C++编写的学生管理系统,一个简单的c++程序,期末 课程设计的时候写的。

2015-12-25

空空如也

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

TA关注的人

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