03 2021 档案

摘要:想要让人们使用你的软件,你必须成为一名 API 开发者。这篇文章中,你将了解如何制作文档完备、具备一致性、可扩展的 API。帮助用户充分利用你的 Java 应用程序。 1. 简介 身为软件开发工程师,我们每天都编写代码。然而不可思议的是,这些代码会一直“存在于真空中”,与所有其他开发的软件隔离开来。 阅读全文
posted @ 2021-03-31 09:11 指尖上的代码go 阅读(215) 评论(0) 推荐(0) 编辑
摘要:首先,我需要先解释下这个标题所表达的意思,以及它背后引出的具体的问题,前端架构与具体的应用的矛盾 这句话为什么要这么说。 相信大部分公司,不论你是创业型公司、外包公司或者是大一点儿的,上市的,在你们的前端技术栈中,react出现的频率应该不低,vue是更甚者吧,基于webpack、glub构建的应用 阅读全文
posted @ 2021-03-31 09:10 指尖上的代码go 阅读(75) 评论(0) 推荐(0) 编辑
摘要:并发编程的模型分类 在并发编程需要处理的两个关键问题是:线程之间如何通信 和 线程之间如何同步。 通信 通信 是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存 和 消息传递。 在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来 阅读全文
posted @ 2021-03-31 09:05 指尖上的代码go 阅读(266) 评论(0) 推荐(0) 编辑
摘要:数据库命令规范 •所有数据库对象名称必须使用小写字母并用下划线分割 •所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) •数据库对象的命名要能做到见名识意,并且最后不要超过 32 个字符 •临时库表必须以 tmp_为前缀并以日期为后缀,备份表必 阅读全文
posted @ 2021-03-31 09:04 指尖上的代码go 阅读(78) 评论(0) 推荐(0) 编辑
摘要:前端基础知识掌握的不扎实可不行。今天就给大家盘点一下几款最热门的构建工具。 说到构建工具,我们往往会在前面加「自动化」三个字,因为构建工具就是用来让我们不再做机械重复的事情,解放我们的双手的。之前小编也和大家探讨学习过自动化构建工具,今天咱们主要来聊一聊按照工具类型对其的分类。 其实,构建工具,说白 阅读全文
posted @ 2021-03-30 09:34 指尖上的代码go 阅读(273) 评论(0) 推荐(0) 编辑
摘要:在前后端完全分离的情况下,Vue项目中实现token验证大致思路如下: 1、第一次登录的时候,前端调后端的登陆接口,发送用户名和密码 2、后端收到请求,验证用户名和密码,验证成功,就给前端返回一个token 3、前端拿到token,将token存储到localStorage和vuex中,并跳转路由页 阅读全文
posted @ 2021-03-30 09:31 指尖上的代码go 阅读(386) 评论(0) 推荐(0) 编辑
摘要:在网页制作中,元素的显示隐藏是非常常见的需求。本文将介绍元素显示隐藏的9种思路 display 对于元素显隐来说,最常见就是display:none | display:block,但是使用这种方法有个问题,元素的display属性在隐藏前并不都是block,还有可能是inline、inline-b 阅读全文
posted @ 2021-03-30 09:29 指尖上的代码go 阅读(470) 评论(0) 推荐(0) 编辑
摘要:第一种: 在组件中直接使用style 不需要组件从外部引入css文件,直接在组件中书写。 import React, { Component } from "react";const div1 = { width: "300px", margin: "30px auto", backgroundCo 阅读全文
posted @ 2021-03-30 09:12 指尖上的代码go 阅读(368) 评论(0) 推荐(0) 编辑
摘要:css的学习和其他的学习一样,都需要特定的方法才能比较快的去掌握它.要想掌握CSS, 首先要学会HTML,我刚开始是从零开始学习的,花了一个月时间学习HTML,没有老师,书就是我唯一的老师,也没有上网的条件!一个月过后,我就开始学习CSS,刚开始看的第一本CSS书是《CSS网页样式设计》看了几天后发 阅读全文
posted @ 2021-03-29 09:23 指尖上的代码go 阅读(727) 评论(0) 推荐(0) 编辑
摘要:前端开发和后端开发都是干什么的?有哪些区别?通俗地讲,前端干的工作是用户可以直接看得见的,而后端开发的工作主要在服务端,用户不太能直接看到。虽然前端开发和后端开发的工作有巨大的区别,但是他们的工作都是相辅相成的,都是为了更好的用户体验。 1、前端开发: 网站的“前端”是与用户直接交互的部分,包括你在 阅读全文
posted @ 2021-03-29 09:22 指尖上的代码go 阅读(2856) 评论(0) 推荐(0) 编辑
摘要:学习新的知识并不难,真正难的是你不知道自己现在还有哪些需要去学 你也许学过 html css js jQuery webpack vue React nodejs git linux 设计模式 算法 …… 等各种前端开发需要的很多知识和技术,但是他们之间到底应该怎么联系起来,能形成怎样的知识网络。以 阅读全文
posted @ 2021-03-29 09:20 指尖上的代码go 阅读(242) 评论(0) 推荐(0) 编辑
摘要:JS中箭头函数和普通函数this指向问题 一、普通函数中的this (1)普通函数中的this代表它的直接调用者,如obj.fn(),fn的this指向就是obj(2)默认情况下,没有直接的调用者,this的指向为window(3)严格模式下,设置了‘use strict’,this的指向为unde 阅读全文
posted @ 2021-03-29 09:17 指尖上的代码go 阅读(749) 评论(0) 推荐(0) 编辑
摘要:1. 防抖 function debounce(func, ms = 1000) { let timer; return function (...args) { if (timer) { clearTimeout(timer) } timer = setTimeout(() => { func.a 阅读全文
posted @ 2021-03-26 09:24 指尖上的代码go 阅读(258) 评论(0) 推荐(0) 编辑
摘要:console.table展示数据 在控制台上展示数组或对象,使用console.table比console.log更加直观明了。 // 在控制台上运行 console.table([ { firstName: 'John', lastName: 'Doe', age: 2 }, { firstNa 阅读全文
posted @ 2021-03-26 09:22 指尖上的代码go 阅读(54) 评论(0) 推荐(0) 编辑
摘要:一、文本样式 1. 文字超出部分显示省略号 单行文本的溢出显示省略号(一定要有宽度) p{ width:200rpx; overflow: hidden; text-overflow:ellipsis; white-space: nowrap; } 复制代码 多行文本溢出显示省略号 p { disp 阅读全文
posted @ 2021-03-26 09:20 指尖上的代码go 阅读(39) 评论(0) 推荐(0) 编辑
摘要:一、CSS 垂直居中 1、父元素display:table-cell;vertical-align:center,里面的子元素就会实现垂直居中,不需要知道子元素的宽高 /* HTML */ <div class='father'> <div class='son'></div> </div> <st 阅读全文
posted @ 2021-03-26 09:19 指尖上的代码go 阅读(217) 评论(0) 推荐(0) 编辑
摘要:到目前为止,GraalVM 已经提供了两种运行 Java 程序的方式:组合使用 Java HotSpot VM 和 GraalVM JIT(just-in-time)编译器,以及使用 GraalVM Native Image 编译成原生可执行文件。 如今,我们很高兴地宣布一种在 GraalVM 运行 阅读全文
posted @ 2021-03-18 09:23 指尖上的代码go 阅读(384) 评论(0) 推荐(0) 编辑
摘要:JavaScript 允许使用与预期形式参数数量不同的实际参数来调用一个函数,也就是传递的实参可以少于或者多于声明的形参数量。前者称为申请不足(under-application),后者称为申请过度(over-application)。 在申请不足的情况下,剩余形式参数会被分配 undefined 阅读全文
posted @ 2021-03-18 09:17 指尖上的代码go 阅读(154) 评论(0) 推荐(0) 编辑
摘要:进入正题前先简单看看MySQL的逻辑架构,相信我用的着。 MySQL逻辑架构 MySQL的逻辑架构大致可以分为三层: 第一层:处理客户端连接、授权认证,安全校验等。 第二层:服务器server层,负责对SQL解释、分析、优化、执行操作引擎等。 第三层:存储引擎,负责MySQL中数据的存储和提取。 我 阅读全文
posted @ 2021-03-18 09:15 指尖上的代码go 阅读(412) 评论(0) 推荐(0) 编辑
摘要:MySQL 对于主键索引的维护是最简单的,就是根据主键去维护一个 B+ 树,因为主键的特点一般是递增的,也就是说是有序的,所以 MySQL 在维护的时候只需要将记录依次往数据页中追加即可,数据页满了就继续添加到下一个数据页。且每一条记录是完整的,即所有的列的值都维护。 但是对于非主键索引,在维护 B 阅读全文
posted @ 2021-03-18 09:11 指尖上的代码go 阅读(231) 评论(0) 推荐(0) 编辑
摘要:一、什么是循环依赖 多个bean之间相互依赖,形成了一个闭环。 比如:A依赖于B、B依赖于c、c依赖于A 通常来说,如果问spring容器内部如何解决循环依赖, 一定是指默认的单例Bean中,属性互相引用的场景。也就是说,Spring的循环依赖,是Spring容器注入时候出现的问题。 二、Sprin 阅读全文
posted @ 2021-03-17 09:12 指尖上的代码go 阅读(194) 评论(0) 推荐(0) 编辑
摘要:实现原理 AQS(AbstractQueuedSynchronizer),抽象的队列式同步器 AQS 维护了一个 state(共享资源变量)和一个 FIFO 线程等待队列(CLH 队列),多个线程竞争 state 被阻塞时就会进入此队列中。 State state 使用 volatile 修饰的一个 阅读全文
posted @ 2021-03-17 09:06 指尖上的代码go 阅读(571) 评论(0) 推荐(0) 编辑
摘要:Enum枚举类型 Enum的全写是Enumeration,这个词的翻译是列举、逐条陈述、细目。在程序语言中,枚举类型是一种特殊的数据类型(常用的数据类型比如字符串、整型),这种数据类型的变量值限定在固定的范围, 比如季节只有春夏秋冬,月份是12个。 Java中的枚举 枚举前时代 在Java语言中, 阅读全文
posted @ 2021-03-17 09:03 指尖上的代码go 阅读(271) 评论(0) 推荐(0) 编辑
摘要:Django中路由的作用: 其本质是URL与该URL要调用的视图函数之间的映射,就是为告诉Django对客户端发过来的某个URL应该调用执行哪一段逻辑代码 路由基本的配置: from django.conf.urls import url # urlpatterns必须是一个由url()实例组成的P 阅读全文
posted @ 2021-03-17 08:57 指尖上的代码go 阅读(637) 评论(0) 推荐(0) 编辑
摘要:本篇千锋重庆Java的小编分享文章给大家分享平时开发中总结的一点小技巧!在工作中写过Java程序的朋友都知道,目前使用Java开发服务最主流的方式就是通过Spring MVC定义一个Controller层接口,并将接口请求或返回参数分别定义在一个Java实体类中,这样Spring MVC在接收到Ht 阅读全文
posted @ 2021-03-16 09:12 指尖上的代码go 阅读(514) 评论(0) 推荐(0) 编辑
摘要:我们在日常开发中经常会使用到诸如泛型、自动拆箱和装箱、内部类、增强 for 循环、try-with-resources 语法、lambda 表达式等,我们只觉得用的很爽,因为这些特性能够帮助我们减轻开发工作量;但我们未曾认真研究过这些特性的本质是什么,那么这篇文章,就来为你揭开这些特性背后的真相。 阅读全文
posted @ 2021-03-16 09:11 指尖上的代码go 阅读(69) 评论(0) 推荐(0) 编辑
摘要:为什么需要并发编程 因为现在的CPU我们大家也都知道,什么几核几线程,各种各样,而我们并发编程的目的是为了让程序运行得更快,这里的更快说的并不是让我们无限制启动更多的线程就能让程序进行最大可能的并发操作,但是我们在进行并发编程的时候,很容易遇到很多的问题,比如说死锁问题,再比如说上下文的切换的问题, 阅读全文
posted @ 2021-03-16 09:10 指尖上的代码go 阅读(53) 评论(0) 推荐(0) 编辑
摘要:JS 里的操作符大家每天都在使用,还有一些 ES2020、ES2021 新加的实用操作符,这些共同构成了 JS 灵活的语法生态。本文除介绍常用的操作符之外,还会介绍 JS 里一些不常用但是很强大的操作符,下面我们一起来看看吧~ 1. 数值分割符 _ ES2021 引入了数值分割符 _,在数值组之间提 阅读全文
posted @ 2021-03-16 09:06 指尖上的代码go 阅读(117) 评论(0) 推荐(0) 编辑
摘要:我们今天来说说javaScript中的代码执行顺序问题,这是一道非常经典的面试题。 这里我们需要知道的一个知识点是:javascript是一门单线程的脚本语言,代码的执行顺序是自上而下执行的,我们来看一下下面这段代码的执行结果: console.log(1); console.log(2); con 阅读全文
posted @ 2021-03-15 09:13 指尖上的代码go 阅读(765) 评论(0) 推荐(0) 编辑
摘要:本期小编给大家分享有些实战很有必要的防范小常识,事情虽然比较小,但是往往被大家所忽视的问题,并分享给大家. 今天主要给大家聊聊网络劫持的那些事儿,网络劫持,搞网络安全的童鞋应该不陌生了,但前端的小伙伴就可要当心了哦! 大家常见的可能都是些专业级别的操作,如:运营商劫持,DNS劫持,HTTP劫持等,今 阅读全文
posted @ 2021-03-15 09:07 指尖上的代码go 阅读(135) 评论(0) 推荐(0) 编辑
摘要:1. 网络爬虫概述 1.1. 什么是爬虫 简单的说,网络爬虫就是使用程序模拟人浏览网页的行为,并把看到的数据采集并整理下来。 从功能上讲,爬虫程序一般分为三个步骤,采集,处理,存储。爬虫从一个或若干初始网页的URL开始,获得原始页面数据;针对页面内容进行分析并筛选页面的有效数据;把数据整理并持久化。 阅读全文
posted @ 2021-03-15 09:00 指尖上的代码go 阅读(240) 评论(0) 推荐(0) 编辑
摘要:上周出去面试的一位精神小伙,回来后突然不精神了,一问,原来面试过程中面试官让他解释一下,「什么是YoungGC 和 FullGC?」 他按照面试宝典上的答案给面试官说了,但不是面试官想要的答案啊,瞬间整个人就怂了,最后被怼的无言以对。 确实,在JVM优化部分,我们会接触到 什么 MinorGC,Yo 阅读全文
posted @ 2021-03-15 08:58 指尖上的代码go 阅读(659) 评论(0) 推荐(0) 编辑
摘要:一,快速制作散射光效 1,新建文件1000*1000px 分辨率:72ppi,填充渐变颜色 找到滤镜--扭曲--波浪 将波浪类型设置为“方形”。并且设置生成器数(控制竖条的多少),波长(控制条状间距),波幅(控制起伏变化)--确定 找到滤镜--扭曲--极坐标,选择平面到极坐标 完成 射线效果制作 1 阅读全文
posted @ 2021-03-12 09:11 指尖上的代码go 阅读(314) 评论(0) 推荐(0) 编辑
摘要:验证码的出现在一定程度上降低了程序被攻击的风险,也使得我们的软件安全性得到有效提高。Java发展至今,网上也出现了各种各样的验证码:有图像验证码,字符验证码,还有用于计算的验证码等等。接下来为大家介绍几个原始验证码的写法。效果如下: 第一款是基本的验证码,就背景颜色和字体颜色随机的。第二款是每个字符 阅读全文
posted @ 2021-03-12 09:05 指尖上的代码go 阅读(269) 评论(0) 推荐(0) 编辑
摘要:antv是蚂蚁金服所提供的一套全新的视图可视化图表库, 与echart虽然都为图表库, 但是从实质出发还是存在一定的差异性, echarts是以图表为主, 而antv则是以图形出发。echarts相对于antv来说是比较成熟的一套图表库, 使用方便、图表种类多, 也是比较容易上手的, 遇到问题网上的 阅读全文
posted @ 2021-03-12 09:04 指尖上的代码go 阅读(1969) 评论(0) 推荐(0) 编辑
摘要:我们在写项目时一般都是用ip就可以直接测试了。但有的业务场景需要我们用到域名。这时候我们去申请一个域名就行了,但此时我们申请的域名协议是http的不是https的。对接微信时很多情况是用的https 。且在对接微信是我们需要边对接边调试。如果直接把项目打包到服务器,调试时会很麻烦,所以这篇文章我们要 阅读全文
posted @ 2021-03-12 09:01 指尖上的代码go 阅读(1353) 评论(0) 推荐(0) 编辑
摘要:FileReader 对象FileReader 对象主要用来把文件读入内存,并且读取文件中的数据。通过构造函数创建一个 FileReader 对象。 这个文件读取对象有以下几种方法: 1.readAsText():读取文本文件(可以使用Txt打开的文件),返回文本字符串,默认编码是UTF-8。 2. 阅读全文
posted @ 2021-03-11 09:25 指尖上的代码go 阅读(81) 评论(0) 推荐(0) 编辑
摘要:Spring动态代理创建对象过程可分为以下四个步骤: 1)通过实现InvocationHandler接口创建自己的调用处理器 IvocationHandler handler = new InvocationHandlerImpl(...); 2)通过为Proxy类指定ClassLoader对象和一 阅读全文
posted @ 2021-03-11 09:24 指尖上的代码go 阅读(1005) 评论(0) 推荐(0) 编辑
摘要:在建设网页时,为了快速、高效地完成任务,通常会使用一些具有代码高亮显示、语法提示等便捷功能的网站开发工具。常见的网站建设工具有Sublime、Visual Studio Code、webstorm、Dreamweaver、Hbuilder等,千锋重庆web前端培训机构的小编具体介绍如下。 1、 Su 阅读全文
posted @ 2021-03-11 09:15 指尖上的代码go 阅读(719) 评论(0) 推荐(0) 编辑
摘要:一、背景&学完可以收获什么 手写promise是很多大厂面试的必备题目 帮助我们从底层理解proimse,应对各种面试题,以及真实工作环境下解决问题。 浏览器机制,EventLoop,宏任务、微任务、Promise 知识储备 js ==> 进阶课程 es6 es6 箭头函数 普通函数 Promise 阅读全文
posted @ 2021-03-11 08:55 指尖上的代码go 阅读(633) 评论(0) 推荐(0) 编辑
摘要:在生产环境中,如何保证在服务升级的时候,不影响用户的体验,这个是一个非常重要的问题。如果在我们升级服务的时候,会造成一段时间内的服务不可用,这就是不够优雅的。那什么是优雅的呢?主要就是指在服务升级的时候,不中断整个服务,让用户无感知,进而不会影响用户的体验,这就是优雅的。 实际上,优雅下线是目标,而 阅读全文
posted @ 2021-03-10 15:12 指尖上的代码go 阅读(580) 评论(0) 推荐(0) 编辑
摘要:索引,可能让好很多人望而生畏,毕竟每次面试时候 MySQL 的索引一定是必问内容,哪怕先撇开面试,就在平常的开发中,对于 SQL 的优化也而是重中之重。 可以毫不夸张的说,系统中 SQL 的好坏,是能直接决定你系统的快慢的。但是在优化之前大家是否想过一个问题?那就是:我们优化的原则是什么?优化SQL 阅读全文
posted @ 2021-03-10 15:10 指尖上的代码go 阅读(377) 评论(0) 推荐(0) 编辑
摘要:今天千锋重庆Java培训机构的小编来探究一下 HashMap 的内部实现机制。 明确 JDK 1.8 中的 HashMap 使用数组 + 链表 + 红黑树的结构进行实现。 HashMap 的底层思想主要是哈希表,我们来看看 Java 的设计者们是怎么使用数组 + 链表 + 红黑树设计出 HashMa 阅读全文
posted @ 2021-03-10 15:05 指尖上的代码go 阅读(47) 评论(0) 推荐(0) 编辑
摘要:基础数据类型交换 这个话题,需要从最最基础的一道题目说起,看题目:以下代码a和b的值会交换么: public static void main(String[] args) { int a = 1, b = 2; swapInt(a, b); System.out.println("a=" + a 阅读全文
posted @ 2021-03-10 14:59 指尖上的代码go 阅读(67) 评论(0) 推荐(0) 编辑
摘要:1、Aliyun Java Initializr 在日常开发工作和自己学习跑demo的时候,往往都需要快速构建一个springboot基础工程。除了用IDEA开发工具构建,更多就是用Spring Initializr来生成,但用的时间长了发现,它也就仅仅只能帮我们引入一些必要的jar包,其他插件轮子 阅读全文
posted @ 2021-03-10 14:57 指尖上的代码go 阅读(144) 评论(0) 推荐(0) 编辑
摘要:其他主要新特性 Lambda表达式和函数式接口 方法引用与构造器引用 Stream API 接口中默认方法与静态方法 新时间日期API 最大化减少空指针异常(Optional) 。。。。 HashMap优化 HashMap1.7 在JDK1.7 到 JDK1.8的时候,对HashMap做了优化 首先 阅读全文
posted @ 2021-03-09 08:59 指尖上的代码go 阅读(209) 评论(0) 推荐(0) 编辑
摘要:代码都是由 CPU 跑起来的,我们代码写的好与坏就决定了 CPU 的执行效率,特别是在编写计算密集型的程序,更要注重 CPU 的执行效率,否则将会大大影响系统性能。 CPU 内部嵌入了 CPU Cache(高速缓存),它的存储容量很小,但是离 CPU 核心很近,所以缓存的读写速度是极快的,那么如果 阅读全文
posted @ 2021-03-09 08:57 指尖上的代码go 阅读(183) 评论(0) 推荐(0) 编辑
摘要:prefetch_count参数的含义 先从AMQP(Advanced Message Queuing Protocol,及高级消息队列协议,RabbitMQ实现了此协议的0-9-1版本的大部分内容)和RabbitMQ的具体实现去理解prefetch_count参数的含义,可以查阅对应的文档(见文末 阅读全文
posted @ 2021-03-09 08:55 指尖上的代码go 阅读(906) 评论(0) 推荐(0) 编辑
摘要:Redis是单线程得,这话搁以前,是横着走的,谁都知道的真理。现在不一样,Redis 变了。再说这句话,多少得有质疑的语气来跟你辩驳一番。意志不坚定的,可能就缴械投降,顺着别人走了。 到底是什么样的,各位看官请跟小莱一起往下看: Reactor模式 反应器模式,你可能不太认识,如果看过上篇文章的话应 阅读全文
posted @ 2021-03-09 08:54 指尖上的代码go 阅读(96) 评论(0) 推荐(0) 编辑
摘要:简介: 私有镜像仓库可以方便企业,或个人开发者共享内部镜像而不会泄漏私有代码,而且可以加速镜像的拉取。能更加方便地集成到容器化的 CI/CD 中去。也可建立自己的公共镜像仓库。 优势: Docker Registry的优点如下: (1)Docker Registry的最大优点就是简单,只需要运行一个 阅读全文
posted @ 2021-03-09 08:52 指尖上的代码go 阅读(384) 评论(0) 推荐(0) 编辑
摘要:@Cache比spring cache更轻量的缓存,支持单个缓存设置过期时间,可以根据前缀移除缓存。采用fastjson序列化与反序列化,以json串存于缓存之中。icloud-cache可以快速用于日常的spring boot应用之中。 数据可视化展示(生产环境不建议使用) Redis 客户端查看 阅读全文
posted @ 2021-03-08 09:11 指尖上的代码go 阅读(220) 评论(0) 推荐(0) 编辑
摘要:之前我们有在并发系列中提到 ThreadLocal 类和基本使用方法,那我们就来看下 ThreadLocal 究竟是如何使用的! ThreadLocal 简介 概念 ThreadLocal 类是用来提供线程内部的局部变量。这种变量在多线程环境下访问(get 和 set 方法访问)时能保证各个线程的变 阅读全文
posted @ 2021-03-08 09:09 指尖上的代码go 阅读(139) 评论(0) 推荐(0) 编辑
摘要:前言 当你现在遇到了一条慢 SQL 需要进行优化时,你第一时间能想到的优化手段是什么? 大部分人第一反应可能都是添加索引,在大多数情况下面,索引能够将一条 SQL 语句的查询效率提高几个数量级。 索引的本质:用于快速查找记录的一种数据结构。 索引的常用数据结构: 二叉树 红黑树 Hash 表 B-t 阅读全文
posted @ 2021-03-08 09:07 指尖上的代码go 阅读(351) 评论(0) 推荐(0) 编辑
摘要:什么是 ThreadLocal ThreadLocal类顾名思义可以理解为线程本地变量。也就是说如果定义了一个ThreadLocal, 每个线程往这个ThreadLocal中读写是线程隔离,互相之间不会影响的。它提供了一种将可变数据通过每个线程有自己的独立副本从而实现线程封闭的机制。 实际应用 实际 阅读全文
posted @ 2021-03-08 09:06 指尖上的代码go 阅读(520) 评论(0) 推荐(1) 编辑
摘要:对于 List 集合类,我想大家肯定很了解了,那我想一定也知道集合的顶端接口 Collection。在 Java8 中,Collection 新增了两个流程,分别是 Stream() 和 parallelStream() 通过英文名不难猜测,这两个方法肯定和 Stream 有关,那进一步猜测,是不是 阅读全文
posted @ 2021-03-08 09:03 指尖上的代码go 阅读(463) 评论(0) 推荐(0) 编辑
摘要:Spring MVC 实现原理 核心组件 DispatcherServlet:前端控制器,负责调度其他组件的执行,可降低不同组件之间的耦合性,是整个 Spring MVC 的核心模块。 Handler:处理器,完成具体业务逻辑,相当于 Servlet 或 Action。 HandlerMapping 阅读全文
posted @ 2021-03-05 09:19 指尖上的代码go 阅读(69) 评论(0) 推荐(0) 编辑
摘要:在传统的后台管理系统里面经常会需要展示多级菜单关系,今天我们来学一下如何使用一条SQL语句展示多级菜单。 现在我们有一张corpinfo单位表,里面有一个belong字段指向上级单位,首先来看一下现在表里有什么数据: SELECT uid,ubelong FROM corpinfo 现在是类似下面这 阅读全文
posted @ 2021-03-05 09:18 指尖上的代码go 阅读(2380) 评论(0) 推荐(0) 编辑
摘要:与Synchonized的比较,它的作用是什么 ThreadLocal和Synchonized都用于解决多线程并发访问。可是ThreadLocal与Synchronized有着本质的区别。Synchronized是利用锁的机制,使变量或代码代码块在某一个时刻仅仅能被一个线程访问。 从名字我们就可以看 阅读全文
posted @ 2021-03-05 09:17 指尖上的代码go 阅读(279) 评论(0) 推荐(0) 编辑
摘要:这道题想考察什么? 是否真正了解synchronized关键字 考察的知识点 synchronized关键字的使用、原理、优化等 考生应该如何回答 1、在Java中,synchronized关键字是一个轻量级的同步机制,也是我们在工作中用得最频繁的,我们可以使用synchronized修饰一个方法, 阅读全文
posted @ 2021-03-05 09:16 指尖上的代码go 阅读(178) 评论(0) 推荐(0) 编辑
摘要:相信广大程序员朋友经常使用MySQL数据库作为书籍持久化的工具,我们最常使用的就是MySQL中的SQL语句,从客户端向MySQL发出一条条指令,然后获取返回的数据结果进行后面的逻辑处理。尽管大家经常使用SQL语句完成工作,你是否关注过其执行的阶段,利用了哪些技术完成?今天,就带大家一起看看MySQL 阅读全文
posted @ 2021-03-05 09:15 指尖上的代码go 阅读(261) 评论(0) 推荐(0) 编辑
摘要:CAS(Compare And Swap)原理分析 字面意思是比较和交换,先看看下面场景(A 和 B 线程同时执行下面的代码): int i = 10; //代码 1 i = 20; //代码 2 场景 1:A 线程执行代码 1 和代码 2,然后 B 线程执行代码 1 和代码 2,CAS 成功。 场 阅读全文
posted @ 2021-03-04 09:14 指尖上的代码go 阅读(230) 评论(0) 推荐(0) 编辑
摘要:分布式事务基础 事务 事务指的就是一个操作单元,在这个操作单元中的所有操作最终要保持一致的行为,要么所有操作都成功,要么所有的操作都被撤销。简单地说,事务提供一种“要么什么都不做,要么做全套”机制。 本地事务 本地事物其实可以认为是数据库提供的事务机制。说到数据库事务就不得不说,数据库事务中的四大特 阅读全文
posted @ 2021-03-04 09:12 指尖上的代码go 阅读(479) 评论(0) 推荐(0) 编辑
摘要:一、什么是幂等性 幂等是一个数学与计算机学概念,在数学中某一元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同。在计算机中编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。 幂等函数或幂等方法是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影 阅读全文
posted @ 2021-03-04 09:05 指尖上的代码go 阅读(1640) 评论(0) 推荐(0) 编辑
摘要:mybatis在java开发中已经成为主流,它有很多优点,例如1. 易于上手和掌握。2. sql写在xml里,便于统一管理和优化。3. 解除sql与程序代码的耦合。4. 提供映射标签,支持对象与数据库的orm字段关系映射5. 提供对象关系映射标签,支持对象关系组建维护6. 提供xml标签,支持编写动 阅读全文
posted @ 2021-03-04 08:58 指尖上的代码go 阅读(1095) 评论(0) 推荐(0) 编辑
摘要:Redis是目前非常流行的缓存数据库啦,其中一个主要作用就是为了避免大量请求直接打到数据库,以此来缓解数据库服务器压力;用上缓存难道就高枕无忧了吗?no,no,no,没有这么完美的技术, 缓存穿透、缓存雪崩、缓存击穿这些问题都得好好聊聊。 正文 1. 缓存穿透 1.1 简要描述 缓存穿透是指查找的数 阅读全文
posted @ 2021-03-04 08:56 指尖上的代码go 阅读(115) 评论(0) 推荐(0) 编辑
摘要:MyBatis 初始化过程就是生成一些必须的对象放到 Spring 容器中。问题是这个过程到底生成了哪些对象?当遇到 MyBatis 初始化失败时,如何正确找到分析问题的切入点?本文将针对这些问题进行介绍。 本文基于 MyBatis 3 和 Spring,假设读者已经知道如何使用 Maven 和 M 阅读全文
posted @ 2021-03-03 09:13 指尖上的代码go 阅读(150) 评论(0) 推荐(0) 编辑
摘要:一、AQS 是什么?为什么需要 AQS ? 试想有这么一种场景:有四个线程由于业务需求需要同时占用某资源,但该资源在同一个时刻只能被其中唯一线程所独占。那么此时应该如何标识该资源已经被独占,同时剩余无法获取该资源的线程又该何去何从呢? 这里就涉及到了关于共享资源的竞争与同步关系。对于不同的开发者来说 阅读全文
posted @ 2021-03-03 09:07 指尖上的代码go 阅读(124) 评论(0) 推荐(0) 编辑
摘要:一、事务 事务是由一组SQL语句组成的逻辑处理单元,是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。事务具有以下4个属性,通常简称为事务的ACID属性: 原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行 阅读全文
posted @ 2021-03-03 09:06 指尖上的代码go 阅读(147) 评论(0) 推荐(0) 编辑
摘要:在AWS云上,我们运行并部署容器化应用程序到我们的PaaS管道。像我们这样在Docker中运行Java应用程序的人,可能已经遇到过 JVM在容器中运行时无法准确检测可用内存的问题 。jvm没有准确地检测Docker容器中可用的内存,而是查看机器的可用内存。这可能导致在容器内运行的应用程序在尝试使用超 阅读全文
posted @ 2021-03-03 09:05 指尖上的代码go 阅读(281) 评论(0) 推荐(0) 编辑
摘要:1.正则表达式匹配${key} \$\{([a-z]+)\} 能够匹配字符串中以${key}形式的文本(其中key为小写应为字母) .*\$\{([a-z]+)\}.* 可以用来检测文本中是否有${key}形式的文本 解释如下: . 匹配除换行符 \n 之外的任何单字符 * 匹配前面的子表达式零次或 阅读全文
posted @ 2021-03-03 09:04 指尖上的代码go 阅读(520) 评论(0) 推荐(0) 编辑
摘要:SpringMVC中常用注解 RequestParam RequestBody PathVaribale 先了解下REST 风格 URL RequestHeader CookieValue ModelAttribute 修饰的方法有返回值 修饰的方法没有返回值 SessionAttribute Re 阅读全文
posted @ 2021-03-02 09:23 指尖上的代码go 阅读(99) 评论(0) 推荐(0) 编辑
摘要:一、前言 这篇文章是我之前学过的基础总结,希望对大家有所帮助! 二、异常概述及异常体系结构 1.概述 我们在做程序开发时候,都想着把代码写的完美无瑕(不大可能),但是真实情况是在系统运行代码时,仍然会遇到一些问题,不能靠代码避免,比如: 客户输入的数据格式 读取文件是否存在 网络是否始终保持通畅 我 阅读全文
posted @ 2021-03-02 09:18 指尖上的代码go 阅读(882) 评论(0) 推荐(0) 编辑
摘要:一、快速入门 示例:有一定基础的小伙伴们可以选择性的跳过该步骤 HashMap是Java程序员使用频率最高的用于映射键值对(key和value)处理的数据类型。随着JDK版本的跟新,JDK1.8对HashMap底层的实现进行了优化,列入引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK 阅读全文
posted @ 2021-03-02 09:16 指尖上的代码go 阅读(1825) 评论(0) 推荐(0) 编辑
摘要:Spring的出现是为了解决企业应用程序开发的复杂性 它是一个分层的、JavaSE/EE一站式、轻量级开源框架。 Spring框架是一个分层架构,它包含一系列的功能要素并被分为大约20个模块。这些模块分为Core Container、Data Access/Integration、Web、AOP(A 阅读全文
posted @ 2021-03-02 09:14 指尖上的代码go 阅读(121) 评论(0) 推荐(0) 编辑
摘要:1、@SpringBootApplication 这是 Spring Boot 最最最核心的注解,用在 Spring Boot 主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。 其实这个注解就是 @SpringBootConfiguration、@E 阅读全文
posted @ 2021-03-02 09:12 指尖上的代码go 阅读(791) 评论(0) 推荐(0) 编辑
摘要:理解Java并发原理或者其他语言的并发(没错,这篇文章是“跨语言”的!!!还这么短,你说牛逼不牛逼)只需要记住理解两个东西: CPU访问存储的方式——多级存储; CPU执行指令的方式——乱序 首先回忆我们大学的一门课程——《计算机组成原理》也许你的记忆里只有:“呃,你要说xx进制转换成xx进制吗?” 阅读全文
posted @ 2021-03-01 10:02 指尖上的代码go 阅读(59) 评论(0) 推荐(0) 编辑
摘要:作为一名Java程序员,我们需要知道Java代码是怎么运行的。最近复习了深入理解Java虚拟机这本书,做了一下笔记,希望对大家有帮助,如果有不正确的地方,欢迎提出,感激不尽。 java 代码运行主要流程 本文主要讲解流程如下: java源文件编译为class字节码 类加载器把字节码加载到虚拟机的方法 阅读全文
posted @ 2021-03-01 09:25 指尖上的代码go 阅读(145) 评论(0) 推荐(0) 编辑
摘要:对于任何一门语言,要想达到精通的水平,研究它的执行原理(或者叫底层机制)不失为一种良好的方式。 在本篇文章中,将重点研究java源代码的执行原理,即从程序员编写JAVA源代码,到最终形成产品,在整个过程中,都经历了什么?每一步又是怎么执行的?执行原理又是什么? 一、编写java源程序 java源文件 阅读全文
posted @ 2021-03-01 09:16 指尖上的代码go 阅读(380) 评论(0) 推荐(1) 编辑
摘要:int基本类型 首先,Java的整数是32位有符号(即包括正值和负值)整数,由int关键字表示: int someNumber = 10; 当然,像所有基本类型一样,整型有自己的限制。由于它只有32位,所以其取值范围为-2147483648到2147483647。这数字很大嘛!当然,我们可以在DrJ 阅读全文
posted @ 2021-03-01 09:14 指尖上的代码go 阅读(319) 评论(0) 推荐(0) 编辑
摘要:1.正则表达式匹配${key} \$\{([a-z]+)\} 能够匹配字符串中以${key}形式的文本(其中key为小写应为字母) .*\$\{([a-z]+)\}.* 可以用来检测文本中是否有${key}形式的文本 解释如下: . 匹配除换行符 \n 之外的任何单字符 * 匹配前面的子表达式零次或 阅读全文
posted @ 2021-03-01 09:12 指尖上的代码go 阅读(223) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示