Java

河北王校长并发编程

volatile 作用 保障可见性(线程嗅探、MESI) 将当前处理器缓存行的数据写回到系统内存 使在其他CPU里缓存了该内存地址的数据无效 防止指令重排 在每个volatile写操作的前面插入一个StoreStore屏障。禁止volatile写之前写 在每个volatile写操作的后面插入一个StoreLoad屏障。禁止volatile写之后读 在每个volatile读

河北王校长JVM

河北王校长JVM Class文件 文件结构 魔数(Magic Number):class文件的前4个字节是固定的魔数,用于标识文件类型为class文件。魔数的值为0xCAFEBABE。 版本信息:紧随魔数后的4个字节表示class文件的次版本号和主版本号。Java的版本号从45开始,每个新版本增加1,例如Java 8的版本号为52。 常量池(Constant Pool):常量池是c

河北王校长源码之AQS

AQS AQS可以重写的方法 lock可以重写的方法 方法 加锁方法

河北王校长源码之HashMap

HashMap 类结构 继承AbstractMap<K,V> 实现Map<K,V> Map基本方法 实现Cloneable 浅克隆 实现Serializable 序列化 成员变量 数据结构 静态方法 哈希方法 比较方法 容量计算方法 普通方法 构造方法 获取方法 设置方法 通过方法返回值对key唯一性进行校验 针对已经写入hashmap

河北王校长源码之ArrayList

ArrayListy 类结构 继承AbstractList 实现List list基本方法 实现RandomAccess 支持随机访问(下标) for效率高于迭代器(对比LinkedList) 实现Cloneable 浅克隆 实现Serializable 序列化 成员变量 默认容量 private static final int DEFAULT_CAPACITY

android项目运行流程

android项目运行流程 三步   第一步:查清单 AndroidManifest.xml android项目核心在app的src的main里java是代码,res是资源有很多xml,然后AndroidManifest.xml是清单 这是 AndroidManifest.xml,在里面找到category.LAUNCHER-->里面的activity的名称就是我们要访问的 第

八股(一)

一、虚拟dom 1、什么是虚拟dom 以往,我们改变更新页面,只能通过首先查找dom对象,再进行修改dom的方式来达到目的。 但这种方式相当消耗计算资源, 因为每次查询 dom ,都需要遍历整颗 dom 树。现在,我们用对象的方式来描述真实的 dom,并且通过对象与真实dom建立了一一对应的关系,那么每次 dom 的更改,通过找到相应对象,也就找到了相应的dom节点,再对其进行更新。这样的话,就能

第一章-微服务简介

第一章 微服务简介 微服务是一种软件架构风格,以专注于单一职责的很多小型项目为基础,组合出复杂的大型应用 基于单体项目:黑马商城 演示单体架构到微服务架构的演变过程,分析其中存在的问题,以及微服务技术如何解决这些问题。 每一个微服务技术都是在解决服务化过程中产生的问题。 软件架构简介 单体架构 单体架构(Monolithic Structure):整个项目的所有模块在一个工程中开发,项目部署时所

练习-黑马商城微服务拆分

第四章-黑马商城项目拆分 环境准备 linux 将linux_environment中Mysql镜像的初始化脚本、配置上传至Linux,并创建docker网络和MySQL容器: 后端环境 打开/hmall工程,该工程是聚合工程,有两个子模块: 并且微服务环境在父工程hmall中指定: 在后续使用微服务组件时就不必单独指定版本了,当前hmall的版本是2021.0.x。 查看hmall-ser

第二章-Nacos服务注册中心

第二章 Nacos 服务注册与发现 在上一章中实现了微服务拆分,并且通过HTTP请求(RestTemplate)实现了跨微服务的远程调用,不过这种手动发起HTTP请求的方式存在问题: 在查询商品的时候,URL地址是写死的:String itemUrl = "http://localhost:8081/items?ids={ids} 如果商品服务是热点接口,为了应对更高的并发/避免单点故障,进行多

第四章-OpenFeign 远程调用

第四章 Spring Cloud OpenFeign 在第二章中,我们通过RestTemplate实现了远程调用: 但是这种调用方式,与本地方法调用差异太大,编程的体验也不统一。我们必须改变这种远程调用的开发方式。 目的是:让远程调用像本地方法调用一样简单,此时就需要使用OpenFeign。 远程调用的关键点:服务名称、请求方式和路径、返回值类型、请求参数 OpenFeign简介 OpenFe

真炸裂,发现一款基于springboot超级好用的开源服务器框架

兄弟们,真不骗你们,这个框架用起来是真的爽,简直是服务器开发人员的福音! 集成该项目后,不用我们程序员再去处理api安全、加签、验签、参数校验、加解密、数据脱敏、异常处理、国际化、接口文档、错误码、缓存、分布式锁、应用、渠道管理等等功能。 而且为了帮助客户端开发的同学更简单的接入后端api,它还提供了java版和Typescript版本的客户端工具包,而且也都是开源的。 不仅如此,而且像验签算

第六章-Sentinel 流量守卫

第六章 Sentinel 流量守卫 在微服务远程调用的过程中,还存在几个问题需要解决: 业务健壮性问题:consumer调用provider,provider故障会导致consumer也出现故障 在cart-service中,需要调用item-service中的查询商品信息接口。如果查询商品信息接口出现故障,会导致cart-service也出现故障。但是从业务角度来说,即使item-servi

第五章-Gateway网关

第五章 GateWay网关 在上一章结尾,我们拆分了微服务: 商品服务 8081 购物车服务 8082 用户服务 8083 交易服务 8084 支付服务 8085 在最后进行前后端联调时,Nginx的配置: 问题是: 请求不同的微服务,就需要在配置文件中新增一个location配置项,维护微服务的入口地址,太麻烦 location指定了微服务的入口地址,但是不能实

01-位运算、算法

题目:打印int类型整数的32位信息 1与任何二进制的与运算:同1为1,有0为0;可以让整数每一位和1做与运算,按位输出结果 这是循环的操作,并且应该从最高位 32位按位输出,也就是最开始1应该左移31位,接下来左移30位 一个数字左移一位,就是这个数字乘了2 int类型是32位,如果是无符号整型的表示范围是0 ~ 2^32 - 1 , 但是为了表示负数,实际的范围是 -2^31 ~ 2^31

Tlias-前端开发

Tlias 准备工作 安装依赖 配置ElementPlus 页面布局 公共的css属性可以定义在main.css中: Container 布局需要使用Container布局容器: <el-container> : 外层容器 <el-header> : 顶栏容器 <el-aside> :侧边栏容器 <el-container>:主

Tlias-后端开发

开发规范 前后端混合开发 沟通成本高 分工不明确:前端发起请求、数据响应的渲染一般都是后端程序员完成的 不便管理 难以维护 前后端分离开发 产品经理提供界面原型 + 需求,前端/后端分析并设计出接口文档,有了接口文档前端后端就可以并行开发了 接口文档中的接口是功能性接口,按照功能划分接口 RESTful REST(REpresentational State Transfer),表述性状态

vue3 瀑布流 vue-masonry使用方法

npm install vue-masonry --save main.js文件中引入 在页面中使用   .item {     width: 48%;     position: relative;     border-radius: 12px;     margin-bottom: 18px;     min-height: 80px;     .img {

webpack面试2

一、常用plugin html-webpack-plugin:生成一个html文件,该文件会自动引入所有生成的bundle。 mini-css-extract-plugin:将css文件打包到单独的文件,而不是打包到js中。 css-minimizer-webpack-plugin:css压缩 image-minimizer-webpack-plugin:压缩图片 @v

使用EasyExcel读取Excel文件遇到的小问题

没有读取到内容的问题 excel内容 具体代码 如果属性的set()方法返回值不是void,就不会调用set()方法,就读取不到数据。 原因分析 easyexcel 库内部使用了 cglib 中的 BeanMap 来设置属性 具体类为 com.alibaba.excel.read.listener.ModelBuildEventListener 的 buildUserModel() 方法。

props的用处

class Mycomponent extends React.Componet { render() { const {name, age } = this.props return ( <ul> <li>姓名:{name}</li>

负载均衡-一致性Hash算法

1. Hash算法 哈希(Hash)也称为散列,把任意长度的输入,通过散列算法变换成固定长度的输出,该输出就是散列值、哈希值(hashCode)。(来自:百度百科) 在现实中,设计者常常将散列值作为索引,用于快速定位数据的位置,比如 HashMap : 为了引入一致性Hash算法,我需要举个例子: 现在 A公司 发展良好,上亿的用户量,架构师设计出一个方案:根据用户id分库,通过对用户id进

【Java面试题-基础知识02】Java抽象类和接口六连问?

1、抽象类和接口分别是什么? 抽象类是一种类,可以包含抽象方法和非抽象方法,抽象方法是没有具体实现的方法,需要在子类中被具体实现。 接口是一种完全抽象的类,其中的所有方法都是抽象方法,没有方法体,它只是定义了一组方法的契约。 2、接口中一定不可以有实现方法吗? 不一定,Java 8 引入了默认方法(Default Methods)的概念,允许在接口中包含具有默认实现的方法。 public i

XML 简介及用法详解

XML 是一种用于存储和传输数据的与软件和硬件无关的工具。 什么是XML? XML代表eXtensible Markup Language(可扩展标记语言)。XML是一种与HTML非常相似的标记语言。XML被设计用于存储和传输数据。XML被设计成具有自我描述性。XML不执行任何操作,也许有点难理解,但XML不执行任何操作。 XML示例 这是一张存储为XML的给Tove的Jani的便签: 上面

一张图搞清楚wait、sleep、join、yield四者区别,面试官直接被征服!

写在开头 在线程的生命周期中,不同状态之间切换时,可以通过调用sleep()、wait()、join()、yield()等方法进行线程状态控制,针对这一部分知识点,面试官们也会做做文章,比如问你这些方法的作用以及之间的区别。 那么今天我们就一起来总结一下这几个方法的作用及区别,先画一个思维导图梳理一下,便于理解与记忆,争取在被问到这个点时彻底征服面试官!(图片可保存常看哈) sleep() sl

小米便签AS部署之Git的基本使用

1 项目测试截图 及仓库地址 https://gitee.com/magicfatblink/Notes-master 2 小米便签代码的移植 2.1 IDE 的准备 2.1.1 AS版本选择 由于小米便签是一个很老的项目,距最后一次提交已经有13年的历史了 当时Android主流开发软件还是eclipse,本项目原始代码也是基于eclipse运行的,所以我们导入AS的时候需要进行一次转换。

R语言因子分析、相关性分析大学生兼职现状调查问卷数据可视化报告

全文链接:http://tecdat.cn/?p=31765 原文出处:拓端数据部落公众号 随着大学的普及教育,大学生就业形势变得更加困难,很多学生都意识到这个问题。所以走出象牙塔,去接触社会,来增长社会经验也会成为一个必然趋势。而大学生兼职既可以接触社会锻炼自己,又可以使自己的经济条件得到一定的改善,因而成为很多大学生的不二之选,渐渐形成一种普遍现象。但是在兼职过程中大学生也会碰到各种各样的挫折

<<  <  443  444  445  446  447  448  449  450  451  452  453  >  >>