- 博客(281)
- 资源 (5)
- 收藏
- 关注
原创 1.Flask Quickstart
变量规则您可以通过使用标记部分将可变部分添加到URL <variable_name>。然后,您的函数将接收<variable_name> 作为关键字参数。或者,您可以使用转换器指定参数的类型<converter:variable_name>。@app.route('/user/<username>')def show_user_profi...
2018-12-30 17:49:58
539
原创 2.Tutorial-Classes 类
如果你还是不理解方法的工作原理,了解一下它的实现也许有帮助。引用非数据属性的实例属性时,会搜索它的类。如果这个命名确认为一个有效的函数对象类属性,就会将实例对象和函数对象封装进一个抽象对象:这就是方法对象。以一个参数列表调用方法对象时,它被重新拆封,用实例对象和原始的参数列表构造一个新的参数列表,然后函数对象调用这个新的参数列表。...
2018-12-18 11:51:51
586
原创 9.Git的使用总结
总结:其实只需要进行下面几步就能把本地项目上传到Github 1、在本地创建一个版本库(即文件夹),通过git init把它变成Git仓库; 2、把项目复制到这个文件夹里面,再通过git add .把项目添加到仓库; 3、再通过git commit -m "注释内容"把项目提交到仓库; 4、在Github上设置好SSH密钥后,新建一个远程仓库,通过git remot...
2018-06-11 20:02:26
579
原创 36.微服务框架(Dubbo 和 Spring Cloud)
Java 微服务框架选型(Dubbo 和Spring Cloud?)微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。以往我们开发应用程序都是单体型(可以看作是一个怪兽
2018-06-05 18:09:21
691
原创 22.fast-fail与fast-safe机制
fail-fast机制fail-fast:它是Java集合(Collection)的一种错误机制。当多个线程对同一个集合进行修改结构操作,使用集合的迭代器iterator,会首先检测是否有对集合的并发修改,进而产生ConcurrentModificationException异常提示。 阅读ArrayList的add方法源码,可以注意到在add方法中,除了校验底层数组的容量是否需要扩充之外,恒久对...
2018-05-26 08:28:03
830
原创 5.面经-阿里巴巴
阿里的面试比较全面,也就被我放到最后的面经来写了。然而阿里JAVA的面经,我就不写了,太多了,几乎每个跟JAVA相关的点都会给问到,此次我就总结一下其它的可能被问的知识点吧。本文的知识点基本在博客都有对应的文章讲述,则在此不再给出详细的答案了。 第一部分:计算机基础互联网大厂都相当重视程序员的基本功,也就是计算机基础知识。一个程序员能走多远、爬多高,很大程度上取决于基本功是否扎实。对于应届生而言,...
2018-05-25 15:39:35
1448
2
原创 13.虚拟内存的定义及实现方式
传统存储管理方式的特征各种内存管理策略都是为了同时将多个进程保存在内存中以便允许多道程序设计。它们都具有以下两个共同的特征:1) 一次性作业必须一次性全部装入内存后,方能开始运行。这会导致两种情况发生:· 当作业很大,不能全部被装入内存时,将使该作业无法运行;· 当大量作业要求运行时,由于内存不足以容纳所有作业,只能使少数作业先运行,导致多道程序度的下降。2) 驻留性作...
2018-05-25 15:39:00
11761
2
原创 12.几种页面置换算法
1)最佳置换算法(OPT)(理想置换算法)最佳置换法(OPT):选择将来不再使用或在最远的将来才被访问的页调换出去(不便于实现) 这是一种理想情况下的页面置换算法,但实际上是不可能实现的。该算法的基本思想是:发生缺页时,有些页面在内存中,其中有一页将很快被访问(也包含紧接着的下一条指令的那页),而其他页面则可能要到10、100或者1000条指令后才会被访问,每个页面都可以用在该页面首次被访问前所...
2018-05-25 13:14:38
923
原创 11.连续分配、分页和分段三种存储分配机制的优缺点
连续,设计简单,直接寻址,效率高。缺点:内存利用效率最低,有内部碎片。分页,设计最复杂,容易产生外部碎片,无论数据有多少,都只能按照页面大小分配,造成浪费。分段,程序员在编程和使用上多方面的要求,缺点,无法利用碎片,必须搬移内存,造成性能损失。一、分区存储管理 1、固定分区: 优点:易于实现、开销小 缺点:存在内部碎片(分区内未被利用空间)、分区总数固定,限制了并发执行的程序数量。 2、动...
2018-05-25 11:17:28
17484
2
原创 10.基本分段存储管理方式
分页和分段的主要区别a)、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;段则是信息的逻辑单位,它含有一组其意义相对完整的信息,分段的目的是为了能更好地满足用户的需要。b)、页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程...
2018-05-25 10:44:04
2812
原创 9.基本分页存储管理方式
1、离散分配方式----连续分配方式(分区存储管理)要求把作业放在一个连续的存储区中,因而会形成许多“碎片”,固定分区会产生内部碎片,动态分区会产生外部碎片。虽然可通过“紧凑”方法将许多碎片拼接成可用的大块空间,但需为之付出很大开销。如果允许将一个进程直接分散的装入到许多不相邻接的分区中,则无需再进行“紧凑”。基于这一思想而产生了离散分配方式。如果离散分配的基本单位是页,则称为分页存储管理方式;如...
2018-05-25 10:25:29
1253
1
原创 8.内存连续分配方式采用的几种算法及各自优劣
连续分配方式,是指为一个用户程序分配一个连续的内存空间。它主要包括单一连续分配、固定分区分配和动态分区分配。1.单一连续分配内存在此方式下分为系统区和用户区,系统区仅提供给操作系统使用,通常在低地址部分;用户区是为用户提供的、除系统区之外的内存空间。这种方式无需进行内存保护。 这种方式的优点是简单、无外部碎片,可以釆用覆盖技术,不需要额外的技术支持。缺点是只能用于单用户、单任务的操作系统中,...
2018-05-25 09:46:59
11443
1
原创 7.进程调度算法
进程调度算法基本调度算法:1. 先来先服务FCFS:既可以作为作业调度算法也可以作为进程调度算法;按作业或者进程到达的先后顺序依次调度;因此对于长作业比较有利。算法优点:易于理解且实现简单,只需要一个队列(FIFO),且相当公平 算法缺点:比较有利于长进程,而不利于短进程,有利于CPU 繁忙的进程,而不利于I/O 繁忙的进程2. 短作业优先SPF:作业调度算法,算法从就绪队列中选择估计时间...
2018-05-25 09:22:05
590
原创 6.用户态和核心态的区别
用户态和核心态的区别1.操作系统需要两种CPU状态:内核态(Kernel Mode):运行操作系统程序用户态(User Mode):运行用户程序 2.指令划分:特权指令:只能由操作系统使用、用户程序不能使用的指令。 举例:启动I/O 内存清零 修改程序状态字 设置时钟 允许/禁止终端 停机非特权指令:用户程序可以使用的指令。 举例:控制转移 算数运算 取数指令 访管指令...
2018-05-24 21:58:05
5545
1
原创 4.操作系统的三种状态
进程的三种状态1. 就绪状态:进程获得了除了CPU之外的所有的必要资源,只要获得CPU就可以立即执行,此时的进程处于就绪态。2. 运行状态:进程已经获得CPU,正在运行,在多处理其系统中,会有多个进程同时处于运行状态。3. 阻塞状态:处于执行状态的进程由于发生某些事件而暂时无法继续执行,放弃处理机而处于暂停状态,此时进程就处于阻塞(执行受到阻塞)状态。进程的三种状态之间有4种可能的转换...
2018-05-24 21:13:20
11830
原创 3.操作系统有五大功能
操作系统有五大功能:1、处理机管理:主要控制和管理CPU的工作。2、存储管理:主要进行内存的分配和管理3、设备管理:主要管理基本的输入输出设备4、文件管理:负责对计算机文件的组织、存储、操作和保护等。5、进程管理:也称为作业管理,是指对计算机所进行的操作进行管理。...
2018-05-24 21:01:44
13887
原创 2.操作系统的四个特性
操作系统的四大特征:并发、共享、虚拟、异步。并发在一段时间内,运行多个程序,执行多个任务。从宏观上来说的。操作系统中引入进程的目的就是为了使程序能并发执行。共享资源共享,即系统中的资源可供多个并发执行的进程共同使用。由于资源的属性不同,多个进程对资源的共享方式也不同,可分为:互斥共享方式 和同时访问方式。互斥共享方式:一段时间内只允许一个进程访问该资源,如磁带机、打印机等,虽然可供多个进程使用,但...
2018-05-24 20:49:09
3827
原创 22.Socket详解
一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的...
2018-05-24 16:44:45
603
原创 4.面经-网易
1. object 类有哪些方法? 1,构造函数 2,hashCode和equale函数用来判断对象是否相同, 3,wait(),wait(long),wait(long,int),notify(),notifyAll() 4,toString()和getClass, 5,clone() 6,finalize()用于在垃圾回收2. String类能否被继承? 不可以,因为String类有final...
2018-05-24 10:32:17
706
原创 22.深入剖析ThreadLocal
Java并发编程:深入剖析ThreadLocal首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLocal的理解 二.深入解析ThreadLocal类 三.ThreadLocal的应用场景ThreadLocal,很多地方叫做线程本地变量,也有些地方...
2018-05-24 10:15:13
255
原创 21.缓存淘汰算法--LRU算法
1. LRU1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2. 实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:1. 新数据插入到链表头部;2. 每当缓存命中(即缓存数据被访问),则将数据移到链表头部;3. 当链表满的时候,将链表尾部的数据丢弃...
2018-05-23 13:37:46
326
原创 3.面经-CVTE
加密解密了解么?几种算法,讲一下你了解的不懂,我搞后台的,不搞算法。多线程了解么?什么是线程安全?可以举个例子,hashmap的扩容阿,get null那些线程不安全的例子。说一个你最熟悉的设计模式工厂、享元、单例,随便说。讲一下你项目中用到了哪些设计模式雷电游戏走起。Java的hashmap的原理、线程安全性,什么是线程安全的?如何实现线程安全。可以秀一波了。Concurrenthashmmap...
2018-05-23 11:39:48
1665
原创 2.面经-中移互联网
1. 笔试十月底,面试11月底,体检12月,战线有点长,秋招都快结束了。面试过去很久了,很多都记不清了,有三轮,大概一小时全部搞定了。会问项目,实习,问题都不难,放松就好,反正我最后稀里糊涂就过了。因为已经有保底的缘故吧,所以比较放松。讲一下待遇吧,有住宿和食堂,生活方面是很棒的。但是给offer是不说具体月薪,只说了12W一年,包奖金在内,补贴另算。录取通知上也不写明,这让我有点方,毕竟需要违...
2018-05-22 13:38:39
5967
2
原创 1.面经-电信IT研发中心
1. 怎么解决session一致性缓存的问题博客中第0组的第7篇里面有详解。2. Redis的优势和特点博客中第8组的第1、2篇里面有详解。3. 一千万用户并发抢购,怎么设计博客中第0组的第3-5篇里面有详解。4. 如果成功的用户有10万,redis存不下怎么处理博客中第8组的第5-9篇里面有详解。5. JVM垃圾回收,新生代和老年代的垃圾回收,可达性分析博客中第5组的第8篇里面有详解。...
2018-05-22 13:31:01
4008
2
原创 4.父进程和子进程
父进程和子进程 子进程是父进程的复制品Unix/linux系统中的进程创建是这样的,理解起来有点绕。父进程先执行fork()系统调用,这个调用的结果是系统中多出了一个跟父进程内容完全一样的进程,这个新进程被称为子进程,当然该进程的PCB中父进程指针是指向第一个进程的。前后两个进程各自有自己的地址空间,形式上有点像把一个文件拷贝了一个副本...
2018-05-19 17:36:10
31822
5
原创 5.理解硬链接与软链接
Linux 的文件与目录现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用。在 UNIX 系统中,操作系统为磁盘上的文本与图像、鼠标与键盘等输入设备及网络交互等I/O 操作设计了一组通用 API,使他们被处理时均可统一使用字节流方式。换言之,UNIX 系统中除进程之外的一切皆是文件,而Linux 保持了这一特性。为了便于文件的管理,Lin...
2018-05-19 16:15:28
1070
原创 19.线程池中的队列
runnableTaskQueue(任务队列):用于保存等待执行的任务的阻塞队列。 可以选择以下几个阻塞队列:BlockingQueue的几个注意点【1】BlockingQueue 可以是限定容量的。它在任意给定时间都可以有一个remainingCapacity,超出此容量,便无法无阻塞地put 附加元素。没有任何内部容量约束的BlockingQueue 总是报告Integer.MAX_VALUE...
2018-05-18 12:04:24
9365
1
原创 31.mysql学习心得
1. 不要用select * 代替所有的select XX,XX字段,增加代码可读性2. And优先级高于or,所以要or得先加小括号。否则会出现andxx再or的这种情况发生select detail_id as id, product_name as name, product_price as pricefrom order_detail where product_pr...
2018-05-18 09:28:27
304
原创 19.JDK中常用包及其类和功能详细剖析
JDK所提供的所有标准Java类都存放在Java包中,如java.lang包中包含了运行Java必不可少的系统类。由于系统会自动将java.lang引入,所以不需要在源文件中用import语句来显示地引入这个包。另外,Java跪地过java.util和java.io是必须提供的标准包,在JDK中常用的包有以下几种:1.java.lang:语言包2.java.util:实用包3.java.awt:抽...
2018-05-17 10:52:20
475
原创 20.java常问基础
1. Java 基础知识点2. Java 常见集合3. 高并发编程(JUC 包)4. JVM 内存管理5. Java 8 知识点6. 网络协议相关7. 数据库相关8. MVC 框架相关9. 大数据相关10. Linux 命令相关Java基础知识01. 面向对象的特性有哪些?答:封装、继承和多态。02. Java 中覆盖和重载是什么意思?解析:覆盖和重载是比较重要的基础知识点,并且容...
2018-05-17 10:48:00
731
原创 18.浅谈Java String.intern()
String.intern()原理String.intern()是一个Native方法,底层调用C++的 StringTable::intern 方法,源码注释:当调用 intern 方法时,如果常量池中已经有该字符串,则返回池中的字符串;否则将此字符串添加到常量池中,并返回字符串的引用。package com.ctrip.ttd.whywhy;class Test { public sta...
2018-05-17 10:23:57
575
原创 10.TCP协议中Timewait状态
time_wait状态产生的原因,危害,如何避免 请说说你对TCP连接中time_wait状态的理解解答:先上TCP的状态变迁图上面这个图片展示了TCP从连接建立到连接释放的过程中,客户端和服务端的状态变化图。如果只看连接释放阶段,四次握手· 客户端先发送FIN,进入FIN_WAIT1状态· 服务端收到FIN,发送ACK,进入CLOSE_WAIT状态,客户端收到这个AC...
2018-05-15 11:41:02
738
原创 3.Linux实践中的命令
1. chgrp 改变所属组权限2. chown 改变文件拥有者权限3. chomd 改变文件权限(421对应rwx的分数)4. rm 删除文件5. tail –n 文件几行末尾6. man 查找,帮助7. date 时间8. ifconfig 查看网络等问题9. pwd 显示当前路径10. mkdir –...
2018-05-14 23:24:16
249
原创 30.mysql explain分析
mysql explain分析通过explain可以知道mysql是如何处理语句,分析出查询或是表结构的性能瓶颈。通过expalin可以得到:1. 表的读取顺序2.表的读取操作的操作类型3.哪些索引可以使用4. 哪些索引被实际使用5.表之间的引用6.每张表有多少行被优化器查询 explain显示字段1. id :语句的执行顺序标识2. select_type:使用的查询类型,主要有以下几种查询类型...
2018-05-14 18:44:59
302
原创 35.单体架构与微服务架构
单体架构与微服务架构 【单体架构】 1.什么是单体架构 一个归档包(例如war格式)包含了应用所有功能的应用程序,我们通常称之为单体应用。架构单体应用的方法论,我们称之为单体应用架构。 2.单体架构示例图 3. 单体架构的缺陷 - 复杂性高。整个项目包含的模块非常多,模块的边界模糊,依赖关系不清晰,代码质量参差不齐……整个项目非常复杂。每次修改代码都心惊胆战...
2018-05-12 10:55:18
651
原创 42.笔试题-数组两两相同找不同数
面试题:找出数组中只出现一次的2个数(异或的巧妙应用)(出现3次)2013-10-02 23:49 by youxin, 7423 阅读, 0 评论, 收藏, 编辑题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。分析:这是一道很新颖的关于位运算的面试题。首先我们考虑这个问题的一个简单版本:一个数组里除...
2018-05-12 10:36:37
2940
原创 29.实战之MYSQL优化
实战中呢: 2章 SQL语句优化本章主要介绍SQL语句优化的相关知识· 2-1 数据准备 (02:49)· 2-2 MySQL慢查日志的开启方式和存储格式 (05:54)· 2-3 MySQL慢查日志分析工具之mysqldumpslow (04:32)· 2-4 MySQL慢查日志分析工具之pt-query-digest (0...
2018-05-11 10:17:23
751
原创 17.Object类有哪些方法
前言Java语言不同于C++语言,是一种单根继承结构语言,也就是说,Java中所有的类都有一个共同的祖先。这个祖先就是Object类。如图可知,Object类有12个成员方法,按照用途可以分为以下几种 1,构造函数 2,hashCode和equale函数用来判断对象是否相同, 3,wait(),wait(long),wait(long,int),notify(),notifyAll() 4,toS...
2018-05-10 08:27:35
1223
原创 25.权限系统设计
通俗易懂权限管理模块设计-Java最近一直在做CMS系统,发现一些内容其实都是重复出现的,例如权限管理模块。权限管理模块就是为了管理用户是否有权利访问某个权限,如果不能则拒绝访问。其实Java中已经有很成熟的权限管理框架,例如 Shiro,SpringSecurity等,也推荐大家使用。但是一些设计上的东西还是要重复再造过轮子才能发现里面的精髓,所以这份代码,供不太明白的同学也参考参考。下面我将详...
2018-05-09 21:47:20
298
50个java编写的实战项目
2018-05-14
Java51个实战项目源码+视频教程+百度云链接
2018-01-12
Java27个项目源码+视频教程+百度云永久链接
2018-01-11
Java实战项目源码下载+视频教程+百度云永久链接 (51个)
2018-01-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人