首页
学习
活动
专区
工具
TVP
发布

一只程序原

有人问我,我就会讲。
专栏作者
173
文章
117127
阅读量
29
订阅数
死磕juc(六)CAS
CAS compare and swap的缩写,中文翻译成比较并交换,实现并发算法时常用到的一种技术。它包含三个操作数——内存位置、预期原值及更新值。
yuanshuai
2022-09-26
1850
死磕juc(五)volatile与Java内存模型
内存屏障(也称内存栅栏,内存栅障,屏障指令等,是一类同步屏障指令,是CPU或编译器在对内存随机访问的操作中的一个同步点,使得此点之前的所有读写操作都执行后才可以开始执行此点之后的操作),避免代码重排序。内存屏障其实就是一种JVM指令,Java内存模型的重排规则会要求Java编译器在生成JVM指令时插入特定的内存屏障指令,通过这些内存屏障指令,volatile实现了Java内存模型中的可见性和有序性,但volatile无法保证原子性。
yuanshuai
2022-09-26
2160
死磕juc(四)Java内存模型之JMM
计算机存储结构,从本地磁盘到主存到CPU缓存,也就是从硬盘到内存,到CPU。一般对应的程序的操作就是从数据库查数据到内存然后到CPU进行计算
yuanshuai
2022-09-23
2150
JavaScript进阶-04
异常处理是指预估代码执行过程中可能发生的错误,然后最大程度的避免错误的发生导致整个程序无法继续运行。
yuanshuai
2022-08-23
2830
JavaScript进阶-02
构造函数是专门用于创建对象的函数,如果一个函数使用 new 关键字调用,那么这个函数就是构造函数。
yuanshuai
2022-08-23
6010
JavaScript进阶-01
作用域(scope)规定了变量能够被访问的“范围”,离开了这个“范围”变量便不能被访问,作用域分为全局作用域和局部作用域。
yuanshuai
2022-08-23
6680
JVM内存与垃圾回收篇第4章程序计数器
https://docs.oracle.com/javase/specs/jvms/se8/html/index.html
yuanshuai
2022-08-22
1690
JVM内存与垃圾回收篇第5章虚拟机栈
https://docs.oracle.com/javase/specs/jvms/se8/html/index.html
yuanshuai
2022-08-22
3700
JVM内存与垃圾回收篇第7章本地方法栈
第 7 章 本地方法栈 1、本地方法栈 本地方法栈的特点 Java虚拟机栈于管理Java方法的调用,而本地方法栈用于管理本地方法的调用。 本地方法栈,也是线程私有的。 允许被实现成固定或者是可动态扩展的内存大小(在内存溢出方面和虚拟机栈相同) 如果线程请求分配的栈容量超过本地方法栈允许的最大容量,Java虚拟机将会抛出一个stackoverflowError 异常。 如果本地方法栈可以动态扩展,并且在尝试扩展的时候无法申请到足够的内存,或者在创建新的线程时没有足够的内存去创建对应的本地方法栈,那么J
yuanshuai
2022-08-22
1510
JVM内存与垃圾回收篇第2章类加载子系统
在Java的日常应用程序开发中,类的加载几乎是由上述3种类加载器相互配合执行的,在必要时,我们还可以自定义类加载器,来定制类的加载方式。那为什么还需要自定义类加载器?
yuanshuai
2022-08-22
2140
Vue之Promise
① 同步   当用户使用js和浏览器发生交互时,执行到某一个模块时系统发现需要向服务器提供网络请求,这个时候,js操作就会被阻塞,然后浏览器向服务器发送网络请求。   我们都知道网络请求的速度会比较慢,在此期间,不管用户执行任何操作,浏览器都不会去执行,因为此时的浏览器正在向服务器发送请求,没有空去理会别的操作,这就是同步,简单可以理解成浏览器的执行是按照某中顺序执行的,只有等上一步完成之后才会继续执行下一步操作。 ② 异步   异步的含义和同步恰恰相反。当用户和浏览器发生交互,执行到某一模块的时候发现需要向服务器发送网络请求时,这个时候,浏览器向服务器发送请求之后,仍然可以执行别的操作。   当浏览器向服务器发送的请求得到回应后,我们一般会声明一个函数,将请求的结果放到该函数中,用户执行完某些操作后再回调该函数就可以得到向服务器发送网络请求的数据。   这就是异步,简单的可以理解成一心二用:**一边向服务器发送请求,一边执行相关的操作,最后通过回调某个函数来得到向服务器发动请求的数据。**如果只是一个简单的网络请求,这种方案没有什么麻烦,但是当网络请求变得复杂的时候,就会出现回调地狱 。
yuanshuai
2022-08-22
1.1K0
Vue之Router(二)
  为什么会有动态路由呢?因为在一般的项目中,都会涉及到用户登陆的操作,我们希望某某用户登陆某个网页的时候,能够在该网页的UURL地址上显示用户的登录名或者用户ID等的信息。 动态路由就是根据不同的用户将在网页的URL中动态追加登录名或者ID等信息。 比如:
yuanshuai
2022-08-22
6820
Vue之Vuex(三)
  当在mutations中进行异步操作时,Devtool不能够实时跟踪,导致最终在Devtool中记录的是错误的信息。比如:
yuanshuai
2022-08-22
5690
Vue之Vuex(二)
  getters 相当于我们之前使用过的计算属性。当数据要经过一系列变化时,我们就可以将这一系列的变化写在getters内部。
yuanshuai
2022-08-22
6910
Vue之js的高阶函数
arr = [20,40,12,232,23,232]; 需求1:找出数组中数值低于100的元素,组成新数组并返回 需求2:对返回的数组中的每个元素都乘2 需求3:汇总元素,将每一个元素相加并返回新数组。
yuanshuai
2022-08-22
3570
Vue之v-model
v-model就是vue的双向绑定的指令,能将页面上控件输入的值同步更新到相关绑定的data属性,也会在更新data绑定属性时候,更新页面上输入控件的值。
yuanshuai
2022-08-22
1.1K0
Vue之循环遍历
思路:初始化currentIndex为0,用作记录第0个li的位置,后点击哪个li,就把该li的位置赋给cuurentIndex
yuanshuai
2022-08-22
1.6K0
Vue之组件化(一)
遇到一大堆复杂的问题时,直接上手解决的话是非常困难的。面对这种情况,我们可以将这个大问题细分成许多小问题,逐一的去研究解决这些小问题,累积下来,这个大问题也会被我们解决。
yuanshuai
2022-08-22
2230
Vue之初体验
MVVM如果没听说过,但是我们知道MVC编程模式! MVC:M是指业务模型(Model),V是指用户界面(View),C则是控制器(Controller)。
yuanshuai
2022-08-22
1.1K0
Vue之动态绑定属性
v-bind能给元素动态绑定属性 img中的src在大多数情况下都是动态传递过来的数据,并非是写死的,这时就需要用v-bind的语法,做src属性的动态绑定。 在需要动态绑定的属性前加上v-bind:,告诉Vue这个属性我需要动态绑定。
yuanshuai
2022-08-22
2.6K0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档