12 2020 档案

摘要:Cache-control, expire, last-modify 阅读全文
posted @ 2020-12-27 22:10 咔啡 阅读(350) 评论(0) 推荐(0)
摘要:判断机型, 找出样本机型去适配. 比如iphone以6为样本, 宽度375px, dpr是2 阅读全文
posted @ 2020-12-27 22:01 咔啡 阅读(199) 评论(0) 推荐(0)
摘要:Servlet是sun公司提供的一门用于开发动态web资源的技术,是Java语言中编写Web服务器扩展功能的重要技术,同时它也是JSP技术的底层运行基础。 Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类.Servlet被编译为平台中立 阅读全文
posted @ 2020-12-27 21:25 咔啡 阅读(282) 评论(0) 推荐(0)
摘要:避免查询无关的列,如使用Select * 返回所有的列。 避免查询无关的行 切分查询。将一个对服务器压力较大的任务,分解到一个较长的时间中,并分多次执行。如要删除一万条数据,可以分10次执行,每次执行完成后暂停一段时间,再继续执行。过程中可以释放服务器资源给其他任务。 分解关联查询。将多表关联查询的 阅读全文
posted @ 2020-12-27 20:26 咔啡 阅读(205) 评论(0) 推荐(0)
摘要:减少HTTP请求(合并css、js,雪碧图/base64图片) 压缩(css、js、图片皆可压缩,使用webpack uglify和 svg) 样式表放头部,脚本放底部 使用CDN(这部分,不少前端都不用考虑,负责发布的兄弟可能会负责搞好) http缓存 bosify图片压缩: 根据具体情况修改图片 阅读全文
posted @ 2020-12-27 19:44 咔啡 阅读(135) 评论(0) 推荐(0)
摘要:索引包含一个或多个列的值。MySql只能高效的利用索引的最左前缀列。索引的优势: 减少查询扫描的数据量 避免排序和零时表 将随机IO变为顺序IO (顺序IO的效率高于随机IO) B-Tree使用最多的索引类型。采用B-Tree数据结构来存储数据(每个叶子节点都包含指向下一个叶子节点的指针,从而方便叶 阅读全文
posted @ 2020-12-26 15:34 咔啡 阅读(80) 评论(0) 推荐(0)
摘要:高阶组件就是一个函数,且该函数(wrapper)接受一个组件作为参数,并返回一个新的组件。高阶组件并不关心数据使用的方式和原因,而被包裹的组件也不关心数据来自何处. react-dnd: 根组件, source, target等export default DragSource(type, spec 阅读全文
posted @ 2020-12-26 15:30 咔啡 阅读(92) 评论(0) 推荐(0)
摘要:model-数据层 view-视图层 controller-控制层 MVC的目的是实现M和V的分离,单向通信,必须通过C来承上启下 MVVM中通过VM(vue中的实例化对象)的发布者-订阅者模式实现双向绑定,数据绑定,dom事件监听 区别:MVC和MVVM的区别并不是VM完全取代了C,ViewMod 阅读全文
posted @ 2020-12-26 13:47 咔啡 阅读(111) 评论(0) 推荐(0)
摘要:react树对比是按照层级去对比的, 他会给树编号0,1,2,3,4.... 然后相同的编号进行比较。所以复杂度是n,这个好理解。 关键是传统diff的复杂度是怎么算的?传统的diff需要出了上面的比较之外,还需要跨级比较。他会将两个树的节点,两两比较,这就有n^2的复杂度了。然后还需要编辑树,编辑 阅读全文
posted @ 2020-12-25 15:10 咔啡 阅读(168) 评论(0) 推荐(0)
摘要:function quickSort (arr) { if (arr.length < 2) return arr var middle = Math.floor(arr.length / 2) var flag = arr.splice(middle, 1)[0] var left = [], r 阅读全文
posted @ 2020-12-25 15:09 咔啡 阅读(100) 评论(0) 推荐(0)
摘要:算法:解决具体问题所需要的解决方法。执行效率最快的最优算法。时间复杂度。输入,输出,有穷性,确定性,可行性。冒泡排序,二叉树遍历,最长回文,二分查找,指针,链表等,堆栈,队列等。力扣,codewar,算法导论。 数据结构:逻辑结构:集合、线性、树形、图形结构物理结构:顺序、链式存储结构 阅读全文
posted @ 2020-12-23 13:44 咔啡 阅读(91) 评论(0) 推荐(0)
摘要:分为首次渲染和更新渲染 生命周期, 建立虚拟DOM, 进行diff算法 对比新旧DOM, 节点对比, 将算法复杂度从O(n^3)降低到O(n) key值优化, 避免用index作为key值, 兄弟节点中唯一就行 阅读全文
posted @ 2020-12-23 13:42 咔啡 阅读(91) 评论(0) 推荐(0)
摘要:<meta name="viewport" content="width=device-width, initial-scale=1.0"> rem, em, 百分比 框架的栅格布局 media query媒体查询 手淘团队的一套flexible.js, 自动判断dpr进行整个布局视口的放缩 阅读全文
posted @ 2020-12-23 13:40 咔啡 阅读(99) 评论(0) 推荐(0)
摘要:一个 PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用. 随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线等功能解决了哪些问题? 可以添加至主屏幕,点击主屏幕图标可以实现启动动画以及隐藏地址栏 实现离线缓存功能,即使用户手机没 阅读全文
posted @ 2020-12-22 18:52 咔啡 阅读(148) 评论(0) 推荐(0)
摘要:InnoDB一棵B+树可以存放多少行数据?这个问题的简单回答是:约2千万。为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。 我们都知道计算机在存储数据的时候,有最小存储单元,这就好比我们今天进行现金的流通最小单位是一毛。在计算机中磁盘存储 阅读全文
posted @ 2020-12-22 18:49 咔啡 阅读(121) 评论(0) 推荐(0)
摘要:采用服务器渲染ssr 按需加载配合webpack分块打包, 通过entry和commonChunkPlugin 很有必要将script标签➕异步 有轮播图 最好给个默认 另外要处理图片懒加载 打包线上也要注意去掉map 文件 组件, 路由懒加载 webpack的一切配置 肯定是必须的 压缩图片 ht 阅读全文
posted @ 2020-12-22 18:37 咔啡 阅读(172) 评论(0) 推荐(0)
摘要:我们常常说InnoDB是行锁,但是这里介绍一下它锁表的情况。 InnoDB行锁是通过索引上的索引项来实现的,这一点MySQL与Oracle不同,后者是通过在数据中对相应数据行加锁来实现的。InnoDB这种行锁实现特点意味者:只有通过索引条件检索数据,InnoDB才会使用行级锁,否则,InnoDB将使 阅读全文
posted @ 2020-12-22 17:48 咔啡 阅读(1522) 评论(0) 推荐(0)
摘要:双for循环, splice剔除并i--回退 indexOf等于index filter indexOf index 新数组indexOf index 使用空对象等 阅读全文
posted @ 2020-12-22 16:50 咔啡 阅读(85) 评论(0) 推荐(0)
摘要:safe area: 默认放置在安全区域以避免遮挡, 但会压缩 在meta中添加viewport-fit=cover: 告诉浏览器要讲整个页面渲染到浏览器中,不管设备是圆角与否,这个时候会造成页面的元素被圆角遮挡 padding: constant(env): 解决遮挡问题 阅读全文
posted @ 2020-12-22 16:48 咔啡 阅读(190) 评论(0) 推荐(0)
摘要:InnoDB 实现了两种类型的行锁,共享锁(S)与排他锁(X)。然后由于 InnoDB引擎又支持表级锁,所以它内部又有意向共享锁(IS)与意向排他锁(IX)。这两种表锁,都是InnoDB内部自动处理,换句话说我们写代码是无法控制也不需要控制的。我们能控制的是S与X锁。 阅读全文
posted @ 2020-12-22 16:41 咔啡 阅读(127) 评论(0) 推荐(0)
摘要:自适应布局通过检测视口分辨率,来判断当前访问的设备是:pc端、平板、手机,从而请求服务层,返回不同的页面;响应式布局通过检测视口分辨率,针对不同客户端在客户端做代码处理,来展现不同的布局和内容。 自适应布局需要开发多套界面,而响应式布局只需要开发一套界面就可以了。 自适应对页面做的屏幕适配是在一定范 阅读全文
posted @ 2020-12-22 13:53 咔啡 阅读(171) 评论(0) 推荐(0)
摘要:强大的文本搜索命令,grep(Global Regular Expression Print) 全局正则表达式搜索。grep 的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。命令格式: 阅读全文
posted @ 2020-12-22 13:49 咔啡 阅读(242) 评论(0) 推荐(0)
摘要:abstract的method 不可以是static的,因为抽象的方法是要被子类实现的,而static与子类扯不上关系! native方法表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实现的问题,所以,它也不能是抽象的,不能与abstract混用。 关于synchronized与ab 阅读全文
posted @ 2020-12-21 19:32 咔啡 阅读(357) 评论(0) 推荐(0)
摘要:使用vw, vh width百分比, height: 0, padding-top(bottom): 50% 阅读全文
posted @ 2020-12-21 19:12 咔啡 阅读(88) 评论(0) 推荐(0)
摘要:我们开的的各式各样系统中,系统运行需要CPU、内存、I/O、磁盘等等资源。但除了硬资源外,还有最为重要的软资源:数据。 当人们访问操作我们的系统时,其实归根是对数据的查看与生产。那么对于同一份数据,如果多个用户同时对它查看、修改时会出现什么问题呢?这必然会带来竞争,而为了控制并发的读取、修改数据会对 阅读全文
posted @ 2020-12-21 19:11 咔啡 阅读(315) 评论(0) 推荐(0)
摘要:在日常操作中,UPDATE、INSERT、DELETE InnoDB会自动给涉及的数据集加排他锁,一般的 SELECT 一般是不加任何锁的。我们可以使用以下方式显示的为 SELECT 加锁。 共享锁: select * from table_name where id =10 lock in sha 阅读全文
posted @ 2020-12-21 19:00 咔啡 阅读(121) 评论(0) 推荐(0)
摘要:function findSubStr(str1, str2) { if (str1.length > str2.length) { [str1, str2] = [str2, str1] } var result = '' var len = str1.length for (var j = le 阅读全文
posted @ 2020-12-21 18:59 咔啡 阅读(116) 评论(0) 推荐(0)
摘要:上面我们通过推断得出B+树的高度通常是1-3,下面我们从另外一个侧面证明这个结论。在InnoDB的表空间文件中,约定page number为3的代表主键索引的根页,而在根页偏移量为64的地方存放了该B+树的page level。如果page level为1,树高为2,page level为2,则树高 阅读全文
posted @ 2020-12-21 18:56 咔啡 阅读(366) 评论(0) 推荐(0)
摘要:响应时间 (服务时间,排队时间) 扫描的行 返回的行 阅读全文
posted @ 2020-12-21 18:55 咔啡 阅读(97) 评论(0) 推荐(0)
摘要:这里我们先假设B+树高为2,即存在一个根节点和若干个叶子节点,那么这棵B+树的存放总记录数为:根节点指针数*单个叶子节点记录行数。 上文我们已经说明单个叶子节点(页)中的记录数=16K/1K=16。(这里假设一行记录的数据大小为1k,实际上现在很多互联网业务数据记录大小通常就是1K左右)。 那么现在 阅读全文
posted @ 2020-12-21 18:54 咔啡 阅读(328) 评论(0) 推荐(0)
摘要:二分查找: 递归(分左右, 传递start,end参数)和非递归(使用while(l < h)) 冒泡排序: 两个for循环 阅读全文
posted @ 2020-12-21 18:52 咔啡 阅读(89) 评论(0) 推荐(0)
摘要:从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对其父目录的写权限。注意:不能删除非空目录实例:当 parent 子目录被删除后使它也成为空目录的话,则顺便一并删除: rmdir -p parent/child/child11 阅读全文
posted @ 2020-12-21 13:34 咔啡 阅读(90) 评论(0) 推荐(0)
摘要:事务保证一组原子性的操作,要么全部成功,要么全部失败。一旦失败,回滚之前的所有操作。MySql采用自动提交,如果不是显式的开启一个事务,则每个查询都作为一个事务。隔离级别控制了一个事务中的修改,哪些在事务内和事务间是可见的。四种常见的隔离级别: 未提交读(Read UnCommitted),事务中的 阅读全文
posted @ 2020-12-20 15:30 咔啡 阅读(81) 评论(0) 推荐(0)
摘要:Babel: Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码。注意:Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API Polyfill: Polyfill的准确意思为,用于实现浏览器并不支持的原生API的代码。 阅读全文
posted @ 2020-12-20 15:29 咔啡 阅读(184) 评论(0) 推荐(0)
摘要:数据库通过锁机制来解决并发场景-共享锁(读锁)和排他锁(写锁)。读锁是不阻塞的,多个客户端可以在同一时刻读取同一个资源。写锁是排他的,并且会阻塞其他的读锁和写锁。简单提下乐观锁和悲观锁。 乐观锁,通常用于数据竞争不激烈的场景,多读少写,通过版本号和时间戳实现。 悲观锁,通常用于数据竞争激烈的场景,每 阅读全文
posted @ 2020-12-20 15:05 咔啡 阅读(84) 评论(0) 推荐(0)
摘要:function FindNumbersWithSum(array, sum){ var index = 0 for (var i = 0; i < array.length - 1 && array[i] < sum / 2; i++) { for (var j = i + 1; j < arra 阅读全文
posted @ 2020-12-20 14:59 咔啡 阅读(156) 评论(0) 推荐(0)
摘要:数据是否可变: react整体是函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入,所以在react中,是单向数据流,推崇结合immutable来实现数据不可变; vue的思想是响应式的,也就是基于是数据可变的,通过对每一个属性建立Watcher来监听,当属性变化的时候,响应式的更新对应的虚拟 阅读全文
posted @ 2020-12-20 02:44 咔啡 阅读(123) 评论(0) 推荐(0)
摘要:String str = "fkjav"; char[] arr1 = str.toCharArray(); char[] arr2 = java.util.Arrays.copyOf(arr1,arr1.length); for(int i=0;i<arr1.length-1;i++) { for 阅读全文
posted @ 2020-12-20 02:43 咔啡 阅读(544) 评论(0) 推荐(0)
摘要:InnoDB一棵B+树可以存放多少行数据?这个问题的简单回答是:约2千万。为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。 我们都知道计算机在存储数据的时候,有最小存储单元,这就好比我们今天进行现金的流通最小单位是一毛。在计算机中磁盘存储 阅读全文
posted @ 2020-12-20 02:38 咔啡 阅读(62) 评论(0) 推荐(0)
摘要:整数TinyInt,SmallInt,MediumInt,Int,BigInt 使用的存储8,16,24,32,64位存储空间。使用Unsigned表示不允许负数,可以使正数的上线提高一倍。实数 Float,Double , 支持近似的浮点运算。 Decimal,用于存储精确的小数。 字符串 Var 阅读全文
posted @ 2020-12-20 02:36 咔啡 阅读(74) 评论(0) 推荐(0)
摘要:旧: 浏览器渲染引擎单线程, 计算DOM树时锁住整个线程, 所有行为同步发生, 有效率问题, 期间react会一直占用浏览器主线程,如果组件层级比较深,相应的堆栈也会很深,长时间占用浏览器主线程, 任何其他的操作(包括用户的点击,鼠标移动等操作)都无法执行 新: 重写底层算法逻辑, 引入fiber时 阅读全文
posted @ 2020-12-19 15:33 咔啡 阅读(107) 评论(0) 推荐(0)
摘要:可以继承其他类或实现其他接口。而且由于匿名内部类特殊的语法: new 父类|父接口() { 类体实现部分 } 从上面语法不难看出,匿名内部类必须继承其他类或实现其他接口。 阅读全文
posted @ 2020-12-19 15:29 咔啡 阅读(263) 评论(0) 推荐(0)
摘要:js脚本同步执行 css和图片虽然是异步加载, 但js文件执行需依赖css, 所以css也会阻塞渲染 阅读全文
posted @ 2020-12-19 15:26 咔啡 阅读(247) 评论(0) 推荐(0)
摘要:Keep-Alive: Keep-Alive解决的核心问题:一定时间内,同一域名多次请求数据,只建立一次HTTP请求,其他请求可复用每一次建立的连接通道,以达到提高请求效率的问题。这里面所说的一定时间是可以配置的,不管你用的是Apache还是nginx。 解决两个问题: 串行文件传输(采用二进制数据 阅读全文
posted @ 2020-12-19 15:17 咔啡 阅读(276) 评论(0) 推荐(0)
摘要:Generator函数的语法糖,将*改成async,将yield换成await。 是对Generator函数的改进, 返回promise。 异步写法同步化,遇到await先返回,执行完异步再执行接下来的. 内置执行器, 无需next() 阅读全文
posted @ 2020-12-19 01:24 咔啡 阅读(71) 评论(0) 推荐(0)
摘要:1**: 服务器收到请求, 需请求者进一步操作 2**: 请求成功 3**: 重定向, 资源被转移到其他URL了 4**: 客户端错误, 请求语法错误或没有找到相应资源 5**: 服务端错误, server error 304: Not Modified. 指定日期后未修改, 不返回资源 阅读全文
posted @ 2020-12-19 01:23 咔啡 阅读(74) 评论(0) 推荐(0)
摘要:overflow: hidden能清除块内子元素的浮动影响. 因为该属性进行超出隐藏时需要计算盒子内所有元素的高度, 所以会隐式清除浮动 创建BFC条件(满足一个): float的值不为none; overflow的值不为visible; position的值为fixed / absolute; d 阅读全文
posted @ 2020-12-19 01:15 咔啡 阅读(971) 评论(0) 推荐(0)
摘要:1**: 服务器收到请求, 需请求者进一步操作 2**: 请求成功 3**: 重定向, 资源被转移到其他URL了 4**: 客户端错误, 请求语法错误或没有找到相应资源 5**: 服务端错误, server error 301: 资源(网页等)被永久转移到其他URL, 返回值中包含新的URL, 浏览 阅读全文
posted @ 2020-12-19 01:11 咔啡 阅读(83) 评论(0) 推荐(0)
摘要:ES5定义类以函数形式, 以prototype来实现继承 ES6以class形式定义类, 以extend形式继承 阅读全文
posted @ 2020-12-19 01:09 咔啡 阅读(82) 评论(0) 推荐(0)
摘要:单线程, 先执行同步主线程, 再执行异步任务队列 阅读全文
posted @ 2020-12-18 15:28 咔啡 阅读(1244) 评论(0) 推荐(0)
摘要:先主线程后异步任务队列 先微任务再宏任务 阅读全文
posted @ 2020-12-18 15:24 咔啡 阅读(214) 评论(0) 推荐(0)
摘要:DOM本身是一个js对象, 操作这个对象本身不慢, 但是操作后触发了浏览器的行为, 如repaint和reflow等浏览器行为, 使其变慢 阅读全文
posted @ 2020-12-18 15:22 咔啡 阅读(92) 评论(0) 推荐(0)
摘要:正常要通过vm.root传参取值 阅读全文
posted @ 2020-12-18 15:20 咔啡 阅读(845) 评论(0) 推荐(0)
摘要:小到可以只使用核心功能,比如单文件组件作为一部分嵌入;大到使用整个工程,vue init webpack my-project来构建项目;VUE的核心库及其生态系统也可以满足你的各式需求(core+vuex+vue-route) 阅读全文
posted @ 2020-12-18 15:17 咔啡 阅读(80) 评论(0) 推荐(0)
摘要:redux: 通过store存储,通过action唯一更改,reducer描述如何更改。dispatch一个action dva: 基于redux,结合redux-saga等中间件进行封装 vuex:类似dva,集成化。action异步,mutation非异步 阅读全文
posted @ 2020-12-18 15:15 咔啡 阅读(324) 评论(0) 推荐(0)
摘要:TCP(Transmission Control Protocol:传输控制协议;面向连接,可靠传输 UDP(User Datagram Protocol):用户数据报协议;面向无连接,不可靠传输 阅读全文
posted @ 2020-12-18 15:06 咔啡 阅读(85) 评论(0) 推荐(0)
摘要:浏览器缓存就是把一个已经请求过的资源拷贝一份存储起来,当下次需要该资源时,浏览器会根据缓存机制决定直接使用缓存资源还是再次向服务器发送请求. from memory cache ; from disk cache 作用: 减少网络传输的损耗以及降低服务器压力。 优先级: 强制缓存 > 协商缓存; c 阅读全文
posted @ 2020-12-18 15:02 咔啡 阅读(100) 评论(0) 推荐(0)
摘要:在非简单请求且跨域的情况下,浏览器会自动发起options预检请求。 阅读全文
posted @ 2020-12-18 14:59 咔啡 阅读(93) 评论(0) 推荐(0)
摘要:chrome控制台的application下可查看: cookie name 字段为一个cookie的名称。 value 字段为一个cookie的值。 domain 字段为可以访问此cookie的域名。 path 字段为可以访问此cookie的页面路径。比如domain是abc.com,path是/ 阅读全文
posted @ 2020-12-18 14:49 咔啡 阅读(1944) 评论(0) 推荐(0)
摘要:http: 最广泛网络协议,BS模型,浏览器高效。 https: 安全版,通过SSL加密,加密传输,身份认证,密钥 https相对于http加入了ssl层, 加密传输, 身份认证; 需要到ca申请收费的证书; 安全但是耗时多,缓存不是很好; 注意兼容http和https; 连接方式不同, 端口号也不 阅读全文
posted @ 2020-12-18 14:48 咔啡 阅读(113) 评论(0) 推荐(0)
摘要:可以使用独立可复用的自定义组件来构成大型应用, 采用帕斯卡命名法或横线连接, 通过以上方式进行组件间通信. 每一个组件都是Vue实例, 可以使用生命周期钩子. 阅读全文
posted @ 2020-12-18 14:46 咔啡 阅读(68) 评论(0) 推荐(0)
摘要:旧: window.history.back() + window.location.href=document.referrer; 新: HTML5的新API扩展了window.history,使历史记录点更加开放了。可以存储当前历史记录点、替换当前历史记录点、监听历史记录点onpopstate, 阅读全文
posted @ 2020-12-18 14:43 咔啡 阅读(143) 评论(0) 推荐(0)
摘要:放弃 Object.defineProperty ,使用更快的原生 Proxy (访问对象拦截器, 也成代理器) 提速, 降低内存使用, Tree-shaking更友好 支持IE11等 使用Typescript 阅读全文
posted @ 2020-12-18 14:30 咔啡 阅读(156) 评论(0) 推荐(0)
摘要:seo关系到网站排名, vue搭建spa做前后端分离不好做seo, 可通过其他方法解决: SSR服务端渲染: 将同一个组件渲染为服务器端的 HTML 字符串.利于seo且更快. vue-meta-info, nuxt, prerender-spa-plugin页面预渲染等 阅读全文
posted @ 2020-12-18 14:25 咔啡 阅读(117) 评论(0) 推荐(0)
摘要:组成: 组件间通信, 通过store实现全局存取 修改: 唯一途径, 通过commit一个mutations(同步)或dispatch一个actions(异步) 简写: 引入mapState、mapGetters、mapActions 阅读全文
posted @ 2020-12-17 18:42 咔啡 阅读(213) 评论(0) 推荐(0)
摘要:Required 如果当前存在一个事务,则加入当前事务。如果不存在任何事务,则创建一个新的事务。总之,要至少保证在一个事务中运行。PROPAGATION_REQUIRED通常作为默认的事务传播行为。propagtion RequiresNew 不管当前是否存在事务,都会创建新的事务。如果当前存在事务 阅读全文
posted @ 2020-12-17 18:37 咔啡 阅读(162) 评论(0) 推荐(0)
摘要:jvm里有多个类加载,每个类加载可以负责加载特定位置的类,例如,bootstrap类加载负责加载jre/lib/rt.jar中的类, 我们平时用的jdk中的类都位于rt.jar中。extclassloader负责加载jar/lib/ext/*.jar中的类,appclassloader负责class 阅读全文
posted @ 2020-12-17 18:31 咔啡 阅读(126) 评论(0) 推荐(0)
摘要:BASH和DOS控制台之间的主要区别在于3个方面:1. BASH命令区分大小写,而DOS命令则不区分;2. 在BASH下,/ character是目录分隔符,\作为转义字符。在DOS下,/用作命令参数分隔符,\是目录分隔符3. OS遵循命名文件中的约定,即8个字符的文件名后跟一个点,扩展名为3个字符 阅读全文
posted @ 2020-12-17 18:29 咔啡 阅读(339) 评论(0) 推荐(0)
摘要:图片等静态资源在使用之前就提前请求资源使用到的时候能从缓存中加载, 提升用户体验页面展示的依赖关系维护 阅读全文
posted @ 2020-12-17 18:28 咔啡 阅读(139) 评论(0) 推荐(0)
摘要:通常在一般的项目里不需要,因为应用简单,但你要用纯js做一些复杂的工具或框架系统就要用到了,比如webgis、或者js框架如jquery、ext什么的,不然一个几千行代码的框架不用继承得写几万行,甚至还无法维护 阅读全文
posted @ 2020-12-17 18:26 咔啡 阅读(83) 评论(0) 推荐(0)
摘要:jq优点: 比原生js更易书写, 封装了很多api, 有丰富的插件库; 缺点: 每次升级与之前版本不兼容, 只能手动开发, 操作DOM很慢, 不方便, 变量名污染, 作用域混淆等. vue优缺点: 双向绑定, 虚拟DOM, diff算法, MVVM, 组件化, 通信方便, 路由分发等 阅读全文
posted @ 2020-12-17 18:24 咔啡 阅读(1501) 评论(0) 推荐(0)
摘要:进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。 线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。 一个程序至少一个进程,一个进程至少一个线程。 阅读全文
posted @ 2020-12-17 07:37 咔啡 阅读(107) 评论(0) 推荐(0)
摘要:开启连接用三次握手, 关闭用四次挥手 阅读全文
posted @ 2020-12-17 07:36 咔啡 阅读(67) 评论(0) 推荐(0)
摘要:不写key值会报warning, 和react的array渲染类似. 根据diff算法, 修改数组后, 写key值会复用, 不写会重新生成, 造成性能浪费或某些不必要的错误 阅读全文
posted @ 2020-12-17 07:32 咔啡 阅读(67) 评论(0) 推荐(0)
摘要:前端存放服务端下发的cookie, 简单说就是写一个字段在cookie中表明已登录, 并设置失效日期 或使用后端返回的token, 每次ajax请求将token携带在请求头中, 这也是防范csrf的手段之一 阅读全文
posted @ 2020-12-17 07:31 咔啡 阅读(212) 评论(0) 推荐(0)
摘要:正向代理 (1)访问原来无法访问的资源,如google(2) 可以做缓存,加速访问资源(3)对客户端访问授权,上网进行认证(4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息 阅读全文
posted @ 2020-12-17 07:29 咔啡 阅读(104) 评论(0) 推荐(0)
摘要:除核心指令之外的指令, 使用directive进行注册. 指令自定义钩子函数: bind, inserted, update, componentUpdated, unbind 阅读全文
posted @ 2020-12-17 07:27 咔啡 阅读(87) 评论(0) 推荐(0)
摘要:判断有无全局对象global和window 阅读全文
posted @ 2020-12-17 07:25 咔啡 阅读(668) 评论(0) 推荐(0)
摘要:选择器的特殊性值表述为4个部分,用0,0,0,0表示。 ID选择器的特殊性值,加0,1,0,0。 类选择器、属性选择器或伪类,加0,0,1,0。 元素和伪元素,加0,0,0,1。 通配选择器*对特殊性没有贡献,即0,0,0,0。 最后比较特殊的一个标志!important(权重),它没有特殊性值,但 阅读全文
posted @ 2020-12-17 07:24 咔啡 阅读(104) 评论(0) 推荐(0)
摘要:document.compatMode属性可以判断是否是标准模式,当 document.compatMode为“CSS1Compat”,是标准模式,“BackCompat”是怪异模式。 怪异模式是为了兼容旧版本的浏览器, 因为IE低版本document.documentElement.clientW 阅读全文
posted @ 2020-12-16 18:55 咔啡 阅读(150) 评论(0) 推荐(0)
摘要:// 通过设置border .box { width:0px; height:0px; border-top:50px solid rgba(0,0,0,0); border-right:50px solid rgba(0,0,0,0); border-bottom:50px solid green 阅读全文
posted @ 2020-12-16 18:53 咔啡 阅读(113) 评论(0) 推荐(0)
摘要:List、Set是,Map不是。 阅读全文
posted @ 2020-12-16 18:49 咔啡 阅读(83) 评论(0) 推荐(0)
摘要:块格式化上下文, 特性: 使 BFC 内部浮动元素不会到处乱跑; 和浮动元素产生边界。 阅读全文
posted @ 2020-12-16 17:52 咔啡 阅读(159) 评论(0) 推荐(0)
摘要:说明:其实这个题目本身有问题!因为Set只是一个接口,它的不同实现类判断元素是否相等的标准是不同的。笼统地说,Set里的元素是不能重复的,判断元素重复使用equals()。而不是==。 对于HashSet而言,判断两个对象是否相等是通过equals()和hashCode()方法,只要两个对象通过 e 阅读全文
posted @ 2020-12-16 17:49 咔啡 阅读(850) 评论(0) 推荐(0)
摘要:1. abstract class Name { private String name; public abstract boolean isStupidName(String name) {} } 答案: 错。abstract method必须以分号结尾,且不带花括号。 2. public cl 阅读全文
posted @ 2020-12-16 17:46 咔啡 阅读(165) 评论(0) 推荐(0)
摘要:常用的包有: java.lang包下包括Math、System、StringBuilder、StringBuffer、Runtime、Thread、Runnable等。 java.util包下包括List、Set、Map,以及这些接口的常用实现类:ArrayList、LinkedList、HashS 阅读全文
posted @ 2020-12-16 07:38 咔啡 阅读(696) 评论(0) 推荐(0)
摘要:多线程扩展了多进程的概念,使得同一个进程可以同时并发处理多个任务。线程(Thread)也被称作轻量级进程(Lightweight Process),线程是进程的执行单元。就像进程在操作系统中的地位一样,线程在程序中是独立的、并发的执行流。当进程被初始化后,主线程就被创建了。对于绝大多数的应用程序来说 阅读全文
posted @ 2020-12-16 07:35 咔啡 阅读(471) 评论(0) 推荐(0)
摘要:ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayLis 阅读全文
posted @ 2020-12-16 07:33 咔啡 阅读(172) 评论(0) 推荐(0)
摘要:肯定会执行。finally{}块的代码只有在try{}块中包含遇到System.exit(0);之类的导致Java虚拟机直接退出的语句才会不执行。 当程序执行try{}遇到return时,程序会先执行return语句,但并不会立即返回——也就是把return语句要做的一切事情都准备好,也就是在将要返 阅读全文
posted @ 2020-12-16 07:32 咔啡 阅读(555) 评论(0) 推荐(0)
摘要:Set集合是最接近Collection的集合,因此Set集合几乎没有在Collection增加什么方法。Set集合代表了集合元素无序、几何元素不允许重复的集合。 List集合则在Collection的基础上为元素增加了索引的特性,因此List集合代表了集合元素有序、集合元素可以重复的集合。 Map则 阅读全文
posted @ 2020-12-16 07:30 咔啡 阅读(565) 评论(0) 推荐(0)
摘要:当一个线程进行一个对象的synchronized方法之后,其他线程完全有可能再次进入该对象的其他方法。 不过要分几种情况来看: 1、如果其他方法没有使用synchronized关键字修饰,则可以进入。 2、如果当前线程进入的synchronized方法是static方法,其他线程可以进入其他sync 阅读全文
posted @ 2020-12-16 07:21 咔啡 阅读(1092) 评论(0) 推荐(1)
摘要:verticle-align: middle; 绝对定位50%加translateY(-50%) 绝对定位,上下左右全0,margin:auto 阅读全文
posted @ 2020-12-16 07:18 咔啡 阅读(127) 评论(0) 推荐(0)
摘要:try块表示程序正常的业务执行代码。如果程序在执行try块的代码时出现了“非预期”情况,JVM将会生成一个异常对象,这个异常对象将会被后面相应的catch块捕获。 catch块表示一个异常捕获块。当程序执行try块引发异常时,这个异常对象将会被后面相应的catch块捕获。 throw用于手动地抛出异 阅读全文
posted @ 2020-12-16 07:17 咔啡 阅读(672) 评论(0) 推荐(1)
摘要:对。 因为equals()方法可以用开发者重写,hashCode()方法也可以由开发者来重写,因此它们是否相等并没有必然的关系。 如果对象要保存在HashSet或HashMap中,它们的equals()相等,那么,它们的hashCode()返回值也应该相等。 阅读全文
posted @ 2020-12-16 07:12 咔啡 阅读(91) 评论(0) 推荐(0)
摘要:Vector newVector = new Vector(); For (int i=0;i<vector.size();i++) { Object obj = vector.get(i); if(!newVector.contains(obj); newVector.add(obj); } 还有 阅读全文
posted @ 2020-12-16 07:11 咔啡 阅读(97) 评论(0) 推荐(0)
摘要:public class smallT { public static void main(String args[]) { smallT t = new smallT(); int b = t.get(); System.out.println(b); } public int get() { t 阅读全文
posted @ 2020-12-16 07:09 咔啡 阅读(309) 评论(0) 推荐(0)
摘要:字节流和字符流区别非常简单,它们的用法几乎完全一样,区别在于字节流和字符流所操作的数据单元不同:字节流操作的数据单元是8位的字节,而字符流操作的数据单元是16位的字符。 字节流主要由InputStream和OutputStream作为基类,而字符流则主要由Reader和Writer作为基类。 字节流 阅读全文
posted @ 2020-12-16 06:58 咔啡 阅读(1133) 评论(0) 推荐(0)
摘要:启动一个线程是调用start()方法,使线程就绪状态,以后可以被调度为运行状态。run()方法是线程的线程执行体——也就是线程将要完成的事情。 阅读全文
posted @ 2020-12-15 22:09 咔啡 阅读(296) 评论(0) 推荐(0)
摘要:程序运行过程中可能出现各种“非预期”情况,这些非预期情况可能导致程序非正常结束。 为了提高程序的健壮性,Java提供了异常处理机制: try { s1... s2... s3... } catch(Exception ex) { //对异常情况的修复处理 } 对于上面处理流程,当程序执行try块里的 阅读全文
posted @ 2020-12-15 20:11 咔啡 阅读(279) 评论(0) 推荐(0)
摘要:字节流,字符流。字节流由InputStream OutputStream派生出来,字符流由Reader、Writer派生出来。在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。 阅读全文
posted @ 2020-12-15 19:50 咔啡 阅读(129) 评论(0) 推荐(0)
摘要:在Java5以前,有如下两种: 第一种:继承Thread类,重写它的run()方法。 代码如下: new Thread() { public void run() { //线程执行体 } }.start(); 第二种:实现Runnable接口,并重写它的run()方法。 代码如下: new Thre 阅读全文
posted @ 2020-12-15 17:42 咔啡 阅读(272) 评论(0) 推荐(0)
摘要:Checked异常体现了Java的设计哲学:没有完善错误处理的代码根本就不会被执行! 对于Checked异常的处理方式有两种: A.当前方法明确知道如何处理该异常,程序应该使用try...catch块来捕获该异常,然后在对应的catch块中修补该异常。 B.当前方法不知道如何处理这种异常,应该在定义 阅读全文
posted @ 2020-12-15 17:11 咔啡 阅读(118) 评论(0) 推荐(0)
摘要:当父元素不给高度的时候,内部元素不浮动时会撑开, 而浮动的时候,父元素变成一条线, 造成塌陷. 额外标签法(在最后一个浮动标签后,新加一个标签,给其设置clear:both;)(不推荐) 父元素添加overflow:hidden; (触发BFC) 使用after伪元素清除浮动(推荐使用) 使用bef 阅读全文
posted @ 2020-12-15 16:58 咔啡 阅读(490) 评论(0) 推荐(0)
摘要:在Java5以前,有如下两种: 第一种:继承Thread类,重写它的run()方法。 代码如下: new Thread() { public void run() { //线程执行体 } }.start(); 第二种:实现Runnable接口,并重写它的run()方法。 代码如下: new Thre 阅读全文
posted @ 2020-12-15 16:33 咔啡 阅读(201) 评论(0) 推荐(0)
摘要:最常用的集合接口是 Set、List、Queue,它们都是Collection的子接口,除此之外还有Map接口。 对于Set集合而言,它的常用实现类包括HashSet与TreeSet。HashSet还有一个子类:LinkedHashSet。 对于List集合而言,它的常用实现类包括ArrayList 阅读全文
posted @ 2020-12-15 16:32 咔啡 阅读(1113) 评论(0) 推荐(0)
摘要:rem, em 百分比 媒体查询 bs, antd等的栅格布局 阅读全文
posted @ 2020-12-15 01:18 咔啡 阅读(110) 评论(0) 推荐(0)
摘要:当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过 加载 连接 初始化 三个步骤来对该类进行初始化,如果没有意外,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载或类初始化。 类加载指的是将类的class文件读入内存,并为之创建一个java.lang.Class对象,也就 阅读全文
posted @ 2020-12-15 01:15 咔啡 阅读(247) 评论(0) 推荐(1)
摘要:final是一个修饰符,它可以修改类、方法、变量。 final修饰类时表明这个类不可以被继承。 final修饰方法时表明这个方法不可以被其子类重写。 final修饰变量时可分为局部变量、实例变量和静态变量,当final修饰局部变量时,该局部变量可以被一次赋值,以后该变量的值不能发生该变量;当fina 阅读全文
posted @ 2020-12-15 01:11 咔啡 阅读(101) 评论(0) 推荐(0)
摘要:如果有一个资源需要被一个或多个线程共享,这个资源就变成了“竞争”资源,此时多条线程必须按某种既定的规则、依次访问、修改这个“竞争”资源,当一条线程正在访问、修改该“竞争”资源时,其他线程不能同时修改这份“竞争”资源,这就是同步处理。 对于一个银行账户,如果有多个线程试图去访问这个账户时,如果不对多个 阅读全文
posted @ 2020-12-15 01:09 咔啡 阅读(346) 评论(0) 推荐(0)
摘要:主要相同点:Lock能完成synchronized所实现的所有功能 主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。Lock还有更强大的功能,例如,它的tryLo 阅读全文
posted @ 2020-12-15 01:08 咔啡 阅读(120) 评论(0) 推荐(0)
摘要:比如antd的row和col, 将一行等分为24份, col是几就占几份, 底层按百分比实现; 结合媒体查询, 可以实现响应式 阅读全文
posted @ 2020-12-15 01:06 咔啡 阅读(172) 评论(0) 推荐(0)
摘要:在js里,继承机制是原型继承。继承的起点是 对象的原型(Object prototype)。 一切皆为对象,只要是对象,就会有 proto 属性,该属性存储了指向其构造的指针。 Object prototype也是对象,其 proto 指向null。 对象分为两种:函数对象和普通对象,只有函数对象拥 阅读全文
posted @ 2020-12-15 01:04 咔啡 阅读(238) 评论(0) 推荐(0)
摘要:根据TreeSet底层的实现:TreeSet底层的实现就是红黑树,因此当程序向TreeSet中添加集合元素时,程序会多次调用该对象的compareTo()方法与TreeSet中的集合元素进行比较,直到找到该元素在红黑树中应当所在节点位置。因此该问题的答案是:当前正在添加父类对象就多次调用父类对象的c 阅读全文
posted @ 2020-12-15 01:03 咔啡 阅读(192) 评论(0) 推荐(0)
摘要:象序列化的目标是将对象保存到磁盘中,或允许在网络中直接传输对象,对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久保存在磁盘上,通过网络将这种二进制流传输到另一个网络节点。其他程序一旦获得了这种二进制流(无论是从磁盘中获取,还是通过网络获取),都可以将这种二 阅读全文
posted @ 2020-12-15 00:58 咔啡 阅读(198) 评论(0) 推荐(0)
摘要:Error错误,一般是指虚拟机相关的问题,如系统崩溃、虚拟机出错误、动态链接失败等,这种错误无法恢复或不可能捕获,将导致应用程序中断。通常应用程序无法处理这些错误,因此应用程序不应该试图使用catch块来捕获Error对象。 Exception表示一种设计或实现问题。也就是说,程序员应该对这些情况进 阅读全文
posted @ 2020-12-15 00:57 咔啡 阅读(166) 评论(0) 推荐(0)
摘要:sleep()是Thread类的静态方法,它的作用是让当前线程从运行状态转入、阻塞状态,线程执行暂停下来,当一个线程通过sleep()方法暂停之后,该线程并不会释放它对同步监视器的加锁。 wait()是Object对象的方法,但实际上只有同步监视器才能调用该方法。当程序在同步代码块、或同步方法内通过 阅读全文
posted @ 2020-12-15 00:53 咔啡 阅读(134) 评论(0) 推荐(0)
摘要:两个对半矩形遮罩, 使用rotate以及overflow: hidden进行旋转 阅读全文
posted @ 2020-12-15 00:52 咔啡 阅读(114) 评论(0) 推荐(0)
摘要:对于一个有1~2年左右编程经验的人来说,总会经常遇到一些常见的异常,其中有些就是Runtime Exception。比如: NullPointerException - 当调用一个未初始化的引用变量(实际值为null)的实例Field、实例方法时都会引发该异常。 ArithmeticExceptio 阅读全文
posted @ 2020-12-15 00:50 咔啡 阅读(404) 评论(0) 推荐(0)
摘要:stack内存指的是程序进入一个方法时,系统会专门为这个方法分配一块内存空间,这块内存空间也被称为该方法栈区,该方法的栈区专门用于存储该方法中定义的局部变量,包括基本类型的变量和引用变量。当这个方法结束时,该方法栈区将会自动被销毁,栈区中的所有局部变量都会随之销毁。 heap内存是Java虚拟机拥有 阅读全文
posted @ 2020-12-15 00:45 咔啡 阅读(161) 评论(0) 推荐(0)
摘要:hashCode()方法与equals()方法相似,都是来自java.lang.Object类的方法,都允许用户定义的子类重写这两个方法。 一般来说,equals这个方法是给用户调用的,如果你想根据自己的业务规则来判断2个对象是否相等,你可以重写equals()方法。简单来讲,equals方法主要是 阅读全文
posted @ 2020-12-15 00:44 咔啡 阅读(133) 评论(0) 推荐(0)
摘要:银行贷款的还款方式中最常用的是一种叫“等额本息”,还款法,即借款人在约定还款期限内的每一期(月)归还的金额(产生的利息+部分本金)都是相等的,现有一笔总额为T元的N年期住房贷款,年利率为R,要求算出每一期的还款的本金和利息总额,请写出解决思路和任意一种编程语言实现的主要代码。 思路:既然是按月还款, 阅读全文
posted @ 2020-12-15 00:41 咔啡 阅读(86) 评论(0) 推荐(0)
摘要:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,ass 阅读全文
posted @ 2020-12-15 00:39 咔啡 阅读(181) 评论(0) 推荐(0)
摘要:char型变量是用来存储Unicode编码的字符的,Unicode编码字符集中包含了汉字,因此char型变量中可以存储汉字。不过,如果某个特殊的汉字没有被包含在Unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。 char类型的变量占两个字节,而Unicode编码中每个字符 阅读全文
posted @ 2020-12-15 00:36 咔啡 阅读(653) 评论(0) 推荐(0)
摘要:2 << 3 因为将一个数左移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左移3位即可,而位运算CPU直接支持的,效率最高,所以,2乘以8等于几的最效率的方法是2 << 3。 但需要注意的是,如果这个数字本身已经很大,比如本身已经是2的30次方了,此时再用这种位移运算就可能导致“溢出” 阅读全文
posted @ 2020-12-15 00:35 咔啡 阅读(553) 评论(0) 推荐(0)
摘要:flex-direction控制主副轴 flex-wrap控制换行(默认不换行) flex-flow是上两个的结合 justify-content主轴对齐方式 align-items交叉轴对齐方式 阅读全文
posted @ 2020-12-15 00:34 咔啡 阅读(78) 评论(0) 推荐(0)
摘要:ORM的全称是Object-Relational Mapping,即对象关系映射。ORM思想的提出来源于对象与关系之间相悖的特性。我们很难通过对象的继承与聚合关系来描述数据表中一对一、一对多以及多对多的关系。而面向对象思想中有关抽象与多态的原理,也无法通过关系数据库的SQL语句得以彰显。因此,我们需 阅读全文
posted @ 2020-12-15 00:31 咔啡 阅读(600) 评论(0) 推荐(0)
摘要:外部类不能用private、protected修饰不能。内部类能用private、protected修饰不能。 外部类的上一级程序单位是包,因此它只有两个使用范围:包内和包外,因此它只能用public(表示可以在全局位置使用)和默认修饰符(default,表示只能被同一个包的其他类使用)修饰。 阅读全文
posted @ 2020-12-15 00:29 咔啡 阅读(2299) 评论(0) 推荐(0)
摘要:==操作符的功能有两个: A.如果==的两边都是基本类型变量、包装类对象所组成的表达式,==用于比较两边的表达式的值是否相等——只要两边的表达式的值相等,即使数据类不同,该运算符也会返回true。 B.如果==的两边是引用类型的变量,==用于判断这两个引用类型的变量是否引用同一块内存,只有当它们引用 阅读全文
posted @ 2020-12-15 00:26 咔啡 阅读(133) 评论(0) 推荐(0)
摘要:Math类中提供了三个与取整有关的方法:ceil、floor、round,这些方法的作用与它们的英文名称的含义相对应,例如,ceil的英文意义是天花板,该方法就表示向上取整,所以,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;floor的英文意义是地板, 阅读全文
posted @ 2020-12-15 00:24 咔啡 阅读(131) 评论(0) 推荐(0)
摘要:在一个用户下,可以获取到另外的用户下的表的数据,通常在跨数据库时使用。 create database link link93 connect to scott identified by tiger using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) 阅读全文
posted @ 2020-12-15 00:21 咔啡 阅读(98) 评论(0) 推荐(0)
摘要:接口可以继承接口。抽象类可以实现(implements)接口,抽象类也可以继承具体类。抽象类中可以有静态的main方法。 总结:抽象类的特征是有得有失,得到的功能是抽象类可以拥有抽象方法(当然也可以没有);失去的功能的是抽象类不能创建实例了。至于其他的,抽象类与普通类在语法上大致是一样的。 阅读全文
posted @ 2020-12-15 00:15 咔啡 阅读(235) 评论(0) 推荐(0)
摘要:GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的。 Java的System类和Runtime类都提供了“通知”程序进 阅读全文
posted @ 2020-12-15 00:10 咔啡 阅读(696) 评论(0) 推荐(0)
摘要:HQL功能很强大,适合各种情况,但是动态条件查询构造起来很不方便; Criteria 最适合动态查询,但不太适合统计查询,QBE还不够强大.只适合简单的查询; Native-SQL可以实现特定的数据库的SQL,但是可移植性并不好。 如大部分查询都是动态条件查询,首先criteria,甚至使用Hibe 阅读全文
posted @ 2020-12-15 00:09 咔啡 阅读(80) 评论(0) 推荐(0)
摘要:在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。例如, outer: for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { System.out.println(“ 阅读全文
posted @ 2020-12-15 00:07 咔啡 阅读(117) 评论(0) 推荐(0)
摘要:下面程序的输出结果是多少? import java.util.Date; public class Test extends Date{ public static void main(String[] args) { new Test().test(); } public void test(){ 阅读全文
posted @ 2020-12-15 00:00 咔啡 阅读(116) 评论(0) 推荐(0)
摘要:在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。 在程序运行时的区别:实例变量属于一个对象,必须先创建实例对象,它的实例变量才会被分配空间,才能使用这个实例变量。静态变量则属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态 阅读全文
posted @ 2020-12-14 23:56 咔啡 阅读(1765) 评论(0) 推荐(0)
摘要:Java允许父类或接口定义的引用变量指向子类或具体实现类的实例对象,而程序调用的方法在运行时才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。 正是由于这种机制,两个相同类型的变量,但由于它们实际引用了不同的 阅读全文
posted @ 2020-12-14 23:54 咔啡 阅读(449) 评论(0) 推荐(0)
摘要:数组没有length()这个方法,有length的属性。String有length()方法。 阅读全文
posted @ 2020-12-14 23:35 咔啡 阅读(230) 评论(0) 推荐(0)
摘要:反序列化Java对象时必须提供该对象的class文件,现在的问题是随着项目的升级,系统的class文件也会升级,Java如何保证两个class文件的兼容性? Java序列化机制允许为序列化类提供一个private static final的serialVersionUID值,该Field值用于标识该 阅读全文
posted @ 2020-12-14 23:34 咔啡 阅读(509) 评论(0) 推荐(0)
摘要:大体上,对于HIBERNATE性能调优的主要考虑点如下: l 数据库设计调整 l HQL优化 l API的正确使用(如根据不同的业务类型选用不同的集合及查询API) l 主配置参数(日志,查询缓存,fetch_size, batch_size等) l 映射文件优化(ID生成策略,二级缓存,延迟加载, 阅读全文
posted @ 2020-12-14 23:33 咔啡 阅读(141) 评论(0) 推荐(0)
摘要:构造器Constructor不能被继承,因此不能重写Override,但可以被重载Overload。 阅读全文
posted @ 2020-12-14 23:28 咔啡 阅读(157) 评论(0) 推荐(0)
摘要:Java集合框架中需要比较大小的集合包括TreeMap、TreeSet,其中TreeMap会根据key-value对中key的大小进行排序,而TreeSet则会对集合元素进行排序。 因此TreeMap的key、TreeSet的集合元素,都需要可以比较大小。集合框架中之比较大小的有两种方式: A.自然 阅读全文
posted @ 2020-12-14 23:27 咔啡 阅读(611) 评论(0) 推荐(0)
摘要:编程思路是:实现一个类对ArrayList进行包装,当程序试图向ArrayList中放入数据时,程序将先检查该元素与ArrayList集合中其他元素的大小,然后将该元素插入到指定位置。 class MyBean implements Comparable{ public int compareTo( 阅读全文
posted @ 2020-12-14 23:25 咔啡 阅读(676) 评论(0) 推荐(0)
摘要:为了搞清楚Java程序是否有内存泄露存在,我们首先了解一下什么是内存泄露:程序运行过程中会不断地分配内存空间;那些不再使用的内存空间应该即时回收它们,从而保证系统可以再次使用这些内存。如果存在无用的内存没有被回收回来,那就是内存泄露。 对于Java程序而言,只要Java对象一直处于可达状态,垃圾回收 阅读全文
posted @ 2020-12-14 23:24 咔啡 阅读(373) 评论(0) 推荐(0)
摘要:表面来看,List是一个只是存放单个元素的集合,List集合所包含的元素可以重复,元素按放入的先后顺序来存放,程序可以通过元素的索引来读取元素,因此List相当于一个动态数组;Map则是一个存放key-value对的集合,Map里存放的key-value对是无需的,Map包含的key是不允许重复的。 阅读全文
posted @ 2020-12-14 23:22 咔啡 阅读(730) 评论(0) 推荐(0)
摘要:面向对象的三大特征: 继承:通过继承允许复用已有的类,继承关系是一种“一般到特殊”的关系,比如苹果类继承水果类,这个过程称为类继承。 派生出来的新类称为原有类的子类(派生类),而原有类称为新类的父类(基类)。 子类可以从父类那里继承得到方法和成员变量,而且子类类可以修改或增加新的方法使之适合子类的需 阅读全文
posted @ 2020-12-14 23:20 咔啡 阅读(602) 评论(0) 推荐(0)
摘要:对于Java程序中对象而言,如果这个对象没有任何引用变量引用它,那么这个对象将不可能被程序访问,因此可认为它是垃圾;只要有一个以上的引用变量引用该对象,该对象就不会被垃圾回收。 对于Java的垃圾回收器来说,它使用有向图来记录和管理堆内存中的所有对象,通过这个有向图就可以识别哪些对象是“可达的”(有 阅读全文
posted @ 2020-12-14 22:48 咔啡 阅读(197) 评论(0) 推荐(0)
摘要:mv mv 阅读全文
posted @ 2020-12-12 17:59 咔啡 阅读(139) 评论(0) 推荐(0)
摘要:history 阅读全文
posted @ 2020-12-12 17:58 咔啡 阅读(207) 评论(0) 推荐(0)
摘要:“?”可替代单个字符。 “*”可替代任意多个字符。 方括号“[charset]”可替代 charset 集中的任何单个字符,如[a-z],[abABC] 阅读全文
posted @ 2020-12-11 18:42 咔啡 阅读(669) 评论(0) 推荐(0)
摘要:创建目录:mkdir 创建文件:典型的如 touch,vi 也可以创建文件,其实只要向一个不存在的文件输出,都会创建文件 复制文件:cp 7. 文件权限修改用什么命令?格式是怎么样的? 文件权限修改:chmod 格式如下: chmodu+xfile 给 file 的属主增加执行权限 chmod 75 阅读全文
posted @ 2020-12-11 18:41 咔啡 阅读(716) 评论(0) 推荐(0)
摘要:清屏:clear 退出当前命令:ctrl+c 彻底退出 执行睡眠 :ctrl+z 挂起当前进程 fg 恢复后台 查看当前用户 id:”id“:查看显示目前登陆账户的 uid 和 gid 及所属分组及用户名 查看指定帮助:如 man adduser 这个很全 而且有例子;adduser --help 阅读全文
posted @ 2020-12-11 17:09 咔啡 阅读(364) 评论(0) 推荐(0)
摘要:ls 执行的功能:列出指定目录中的目录,以及文件 哪些参数以及区别:a 所有文件 l 详细信息,包括大小字节数,可读可写可执行的权限等 阅读全文
posted @ 2020-12-11 16:57 咔啡 阅读(563) 评论(0) 推荐(0)
摘要:绝对路径:如/etc/init.d 当前目录和上层目录:./ ../ 主目录:~/ 切换目录:cd 阅读全文
posted @ 2020-12-11 16:39 咔啡 阅读(752) 评论(0) 推荐(0)
摘要:vi 文件名 #编辑方式查看,可修改 cat 文件名 #显示全部文件内容 more 文件名 #分页显示文件内容 less 文件名 #与 more 相似,更好的是可以往前翻页 tail 文件名 #仅查看尾部,还可以指定行数 head 文件名 #仅查看头部,还可以指定行数 阅读全文
posted @ 2020-12-11 16:29 咔啡 阅读(289) 评论(0) 推荐(0)
摘要:把后台任务调到前台执行 fg 把停下的后台任务在后台执行起来 bg 阅读全文
posted @ 2020-12-11 16:26 咔啡 阅读(221) 评论(0) 推荐(0)
摘要:kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>] kill-9 pid 阅读全文
posted @ 2020-12-11 16:12 咔啡 阅读(408) 评论(0) 推荐(0)
摘要:查看所有 env 查看某个,如 home:env $HOME 阅读全文
posted @ 2020-12-11 16:08 咔啡 阅读(161) 评论(0) 推荐(0)
摘要:一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格) 阅读全文
posted @ 2020-12-11 16:06 咔啡 阅读(194) 评论(0) 推荐(0)
摘要:是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。 grep [stringSTRING] filename grep [^string] filename 阅读全文
posted @ 2020-12-10 16:23 咔啡 阅读(548) 评论(0) 推荐(0)
摘要:(1)不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断,指进程不响应异步信号。 (2)暂停状态/跟踪状态:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED 状态;当进程正在被跟踪时,它处于 TASK_TRACED 这个特殊的状态。正被跟踪” 阅读全文
posted @ 2020-12-10 16:04 咔啡 阅读(360) 评论(0) 推荐(0)
摘要:ifconfig 阅读全文
posted @ 2020-12-10 15:24 咔啡 阅读(273) 评论(0) 推荐(0)
摘要:查找自己所在的终端信息:who am i 查看当前谁在使用该主机:who 阅读全文
posted @ 2020-12-10 15:13 咔啡 阅读(231) 评论(0) 推荐(0)
摘要:软链接:ln -s slink source 硬链接:ln link source 阅读全文
posted @ 2020-12-10 15:10 咔啡 阅读(293) 评论(0) 推荐(0)
摘要:find <指定目录> <指定条件> <指定动作> whereis 加参数与文件名 locate 只加文件名 find 直接搜索磁盘,较慢。 find / -name "string*" 阅读全文
posted @ 2020-12-10 15:08 咔啡 阅读(352) 评论(0) 推荐(0)
摘要:ps -ef (system v 输出)ps -aux bsd 格式输出ps -ef | grep pid 阅读全文
posted @ 2020-12-10 15:04 咔啡 阅读(1050) 评论(0) 推荐(0)
摘要:wc 命令 - c 统计字节数 - l 统计行数 - w 统计字数。 阅读全文
posted @ 2020-12-10 14:48 咔啡 阅读(346) 评论(0) 推荐(0)
摘要:\u:显示当前用户账号 \h:显示当前主机名 \W:只显示当前路径最后一个目录 \w:显示当前绝对路径(当前用户目录会以~代替) $PWD:显示当前全路径 $:显示命令行’$'或者’#'符号 #:下达的第几个命令 \d:代表日期,格式为 week day month date,例如:"MonAug1 阅读全文
posted @ 2020-12-10 14:42 咔啡 阅读(392) 评论(0) 推荐(0)
摘要:netstat 阅读全文
posted @ 2020-12-10 14:36 咔啡 阅读(471) 评论(0) 推荐(0)
摘要:job -l 阅读全文
posted @ 2020-12-10 05:30 咔啡 阅读(93) 评论(0) 推荐(0)
摘要:kill -l 阅读全文
posted @ 2020-12-10 05:24 咔啡 阅读(219) 评论(0) 推荐(0)
摘要:df -hl 文件系统 容量 已用 可用 已用% 挂载点 Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G44% //dev/hda1 494M 19M 450M 4% /boot 阅读全文
posted @ 2020-12-09 21:49 咔啡 阅读(345) 评论(0) 推荐(0)
摘要:查看当前进程:ps 执行退出:exit 查看当前路径:pwd 阅读全文
posted @ 2020-12-09 20:20 咔啡 阅读(270) 评论(0) 推荐(0)
摘要:传统的C/C++等编程语言,需要程序员负责回收已经分配的内存。显式进行垃圾回收是一件比较困难的事情,因为程序员并不总是知道内存应该何时被释放。如果一些分配出去的内存得不到及时回收,就会引起系统运行速度下降,甚至导致程序瘫痪,这种现象被称为内存泄漏。总体而言,显式进行垃圾回收主要有如下两个缺点: A. 阅读全文
posted @ 2020-12-09 20:13 咔啡 阅读(598) 评论(0) 推荐(0)
摘要:du 显示目录或文件的大小 df 显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统。(文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如 i 节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为 Meta Data。) du 命令是用户级的程序, 阅读全文
posted @ 2020-12-09 20:01 咔啡 阅读(1119) 评论(0) 推荐(0)
摘要:which 只能查可执行文件 whereis 只能查二进制文件、说明文档,源文件等 阅读全文
posted @ 2020-12-09 19:56 咔啡 阅读(152) 评论(0) 推荐(0)
摘要:终端 /dev/tty 黑洞文件 /dev/null 阅读全文
posted @ 2020-12-09 19:55 咔啡 阅读(303) 评论(0) 推荐(0)
摘要:alias la='ls -a' 阅读全文
posted @ 2020-12-09 19:52 咔啡 阅读(146) 评论(0) 推荐(0)
摘要:bash shell 的内置命令 let 可以进行整型数的数学运算。 #! /bin/bash……let c=a+b…… 阅读全文
posted @ 2020-12-09 19:51 咔啡 阅读(162) 评论(0) 推荐(0)
摘要:whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...] 补充说明:whereis 指令会在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文件。 -b 只查找二进制文件。 -B <目录> 只在设置的目录下 阅读全文
posted @ 2020-12-09 18:57 咔啡 阅读(320) 评论(0) 推荐(0)
摘要:linux 命令’hash’管理着一个内置的哈希表,记录了已执行过的命令的完整路径,用该命令可以打印出你所使用过的命令以及执行的次数。 [root@localhost ~]# hashhits command2 /bin/ls2 /bin/su 阅读全文
posted @ 2020-12-09 18:55 咔啡 阅读(434) 评论(0) 推荐(0)
摘要:使用 Linux 命令 dirs 可以将当前的目录栈打印出来。 [root@localhost ~]# dirs/usr/share/X11 【附】:目录栈通过 pushd popd 来操作。 阅读全文
posted @ 2020-12-09 16:27 咔啡 阅读(123) 评论(0) 推荐(0)
摘要:使用 linux 命令 ’disown -r ’可以将所有正在运行的进程移除。 阅读全文
posted @ 2020-12-09 00:58 咔啡 阅读(237) 评论(0) 推荐(0)
摘要:使用命令 compgen -c,可以打印出所有支持的命令列表。 [root@localhost ~]$ compgen -cl.lllswhichifthen elseelifficaseesacforselectwhileuntildodone… 阅读全文
posted @ 2020-12-09 00:57 咔啡 阅读(263) 评论(0) 推荐(0)
摘要:可以使用 bind 命令,bind 可以很方便地在 shell 中实现宏或按键的绑定。在进行按键绑定的时候,我们需要先获取到绑定按键对应的字符序列。 比如获取 F12 的字符序列获取方法如下:先按下 Ctrl+V,然后按下 F12 .我们就可以得到 F12 的字符序列 ^[[24~。 接着使用 bi 阅读全文
posted @ 2020-12-09 00:39 咔啡 阅读(340) 评论(0) 推荐(0)
摘要:通过管道将命令”cat file_name.txt” 和 ’more’ 连接在一起可以实现这个需要. [root@localhost ~]# cat file_name.txt | more 阅读全文
posted @ 2020-12-09 00:38 咔啡 阅读(250) 评论(0) 推荐(0)
摘要:使用命令 repquota 能够显示出一个文件系统的配额信息 【附】只有 root 用户才能够查看其它用户的配额。 阅读全文
posted @ 2020-12-09 00:32 咔啡 阅读(258) 评论(0) 推荐(0)
摘要:使用命令 whatis 可以先出显示出这个命令的用法简要,比如,你可以使用 whatiszcat 去查看‘zcat’的介绍以及使用简要。 [root@localhost ~]# whatis zcatzcat [gzip] (1) – compress or expand files 阅读全文
posted @ 2020-12-09 00:29 咔啡 阅读(122) 评论(0) 推荐(0)
摘要:数据字典是属于’SYS’用户的,用户‘SYS’ 和 ’SYSEM’是由系统默认自动创建的 阅读全文
posted @ 2020-12-09 00:19 咔啡 阅读(120) 评论(0) 推荐(0)
摘要:用来压缩和解压文件。tar 本身不具有压缩功能,只具有打包功能,有关压缩及解压是调用其它的功能来完成。弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件常用参数:-c 建立新的压缩文件-f 指定压缩文件-r 添加文件到已经压缩文 阅读全文
posted @ 2020-12-08 19:37 咔啡 阅读(673) 评论(0) 推荐(0)
摘要:对于如下代码: String s1 = "a"; String s2 = s1 + "b"; String s3 = "a" + "b"; System.out.println(s2 == "ab"); System.out.println(s3 == "ab"); 第一条语句打印的结果为false 阅读全文
posted @ 2020-12-08 19:11 咔啡 阅读(695) 评论(0) 推荐(0)
摘要:is a是典型的“一般到特殊”的关系,也就是典型的继承关系。例如Apple is a Fruit。那么Apple是一种特殊的Fruit,也就是说Apple继承了Fruit。 has a是典型的“组合”关系。比如Wolf has a Leg,也就是Leg组合成了Wolf。 需要指出的是:由于继承会造成 阅读全文
posted @ 2020-12-08 19:10 咔啡 阅读(1218) 评论(0) 推荐(0)
摘要:内部类就是在一个类的内部定义的类,内部类中不能定义静态成员。 内部类作为其外部类的一个成员,因此内部类可以直接访问外部类的成员。但有一点需要指出:静态成员不能访问非静态成员,因此静态内部类不能访问外部类的非静态成员。 如果内部类使用了static修饰,那这个内部类就是静态内部类,也就是所谓的stat 阅读全文
posted @ 2020-12-08 19:07 咔啡 阅读(306) 评论(0) 推荐(0)
摘要:使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如,对于如下语句: final StringBuilder a=new StringBuilder ("immutable"); 执行如下语句将报告编译错误: a = new StringBuild 阅读全文
posted @ 2020-12-08 19:04 咔啡 阅读(191) 评论(0) 推荐(0)
摘要:A. 在以前的时候,Java提供了一个StingTokenizer工具类来处理字符串分割的问题。比如使用如下语法: StringTokenizer st = new StringTokenizer("this,is,a,test" , ","); while (st.hasMoreTokens()) 阅读全文
posted @ 2020-12-08 18:51 咔啡 阅读(2777) 评论(0) 推荐(0)
摘要:String类是final类,不可以被继承。 阅读全文
posted @ 2020-12-08 17:22 咔啡 阅读(112) 评论(0) 推荐(0)
摘要:可以,但在应用的时候,需要用自己的类加载器去加载,否则,系统的类加载器永远只是去加载jre.jar包中的那个java.lang.String。 但在Tomcat的web应用程序中,都是由webapp自己的类加载器先自己加载WEB-INF/classess目录中的类,然后才委托上级的类加载器加载,如果 阅读全文
posted @ 2020-12-08 17:14 咔啡 阅读(695) 评论(0) 推荐(0)