ICode9

精准搜索请尝试: 精确搜索
  • JDK成长记15:从0分析你不知道的synchronized底层原理(上)2021-10-22 18:35:27

    前几节你应该已经了解和掌握了Thread、ThreadLocal、Volatile这几个并发基础知识的底层原理。这一节,你可以跟我一起深入了解下synchronized关键字的底层原理和其涉及的基础知识。看完这篇成长记,你可以获取到如下几点: synchronized预备知识: 理解什么是CAS? synchronized会形成几种

  • 并发编程学习笔记 一 线程中断 两阶段终止模式 线程状态 synchronized原理2021-10-15 22:05:23

    并发编程学习笔记 一 线程中断线程的状态synchronized原理重量级锁轻量级锁偏向锁 线程中断 两种 interrupt() 方法执行情况: 当被中断的线程正处于 sleep join wait 状态 在执行 thread.interrupt() 后,都会终止线程的阻塞状态,但是不会将该线程的中断标志为置为 true。当

  • 好久没登录博客园了2021-10-15 21:01:19

    mark一下。          

  • InputStream及其子类2021-10-14 23:04:03

    为了使用的InputStream功能,我们可以使用其子类。它的子类有:   FileInputStream   ByteArrayInputStream   ObjectInputStream InputStream类提供了由其子类实现的不同方法。以下是一些常用的方法 read() - 从输入流中读取一个字节的数据 read(byte[] array) - 从流中读取字节并

  • 25-【扩展补充】JVM 三色标记 增量更新 原始快照2021-10-12 22:33:24

    1 基本算法 要找出存活对象,根据可达性分析,从GC Roots开始进行遍历访问,可达的则为存活对象: 最终结果:A/D/E/F/G 可达 我们把遍历对象图过程中遇到的对象,按“是否访问过”这个条件标记成以下三种颜色: 白色:尚未访问过。黑色:本对象已访问过,而且本对象 引用到 的其他对象 也全部

  • 架构:第六章:系统架构2021-10-06 17:02:34

    传统架构 支持1000并发架构 更多请见:http://www.mark-to-win.com/tutorial/51281.html

  • 数据结构算法——1025. 迷宫2021-10-02 19:58:19

    题目 5 4 2 1 4 01010 11100 11111 10011 10001 out no 思路 回溯法 设置maze数组保存数据 设置mark数组记录是否走过该路径 设置route栈记录走过的地方(回溯 设置mv数组来表示步数 当栈不为空的时候走遍栈顶的每一条路线,直到遇见mark是0且maze是0的路线,否则返回上一级,直到栈

  • DAY12021-10-02 15:35:22

    MARK DOWN语法学习 字体 hello world hello world hello world hello world 引用 引用 图片   超链接 点击进入b站 列表 A B C a b c |a|b|c| ------       代码 public study

  • bootstrap 表格的使用2021-10-01 20:33:11

    <table class="table table-striped table-bordered table-hover"> <thead> <tr> <td>#</td> <td>First Name</td> <td>Last Name</

  • synchronized的锁升级过程2021-10-01 12:00:38

    作者:duktig 博客:https://duktig.cn 优秀还努力。愿你付出甘之如饴,所得归于欢喜。 背景 synchronized在多线程和高并发中经常用到,尤其是synchronized在JDK6之后进行了优化,效率堪比Lock锁,甚至犹有过之。也是面试中的常客。 面试官:你平时用过多线程吗? 面试官:你怎么解决线程安

  • 联通分量 [割点·割边]2021-09-27 19:34:19

    魔板 割点: void Tarjan(int u,int lst) { dfn[u]=low[u]=++Time; st[++tp]=u; for(int i=head[u];i;i=nxt[i]) { int v=to[i]; // int k=i,p=lst^1; if(i==(lst^1)) continue; // printf("!%d %d\n",u,v); if(!dfn[v]) { Tarjan(v,i); if(!mark[i]&a

  • JVM系列之:对象的锁状态和同步2021-09-26 16:03:40

      简介 锁和同步是java多线程编程中非常常见的使用场景。为了锁定多线程共享的对象,Java需要提供一定的机制来实现共享对象的锁定,从而保证一次只有一个线程能够作用于共享对象。当第二个线程进入同一个区域的时候,必须等待第一个线程解锁该对象。   JVM是怎么做到的呢?为了实现这个

  • JS练习_返回顶部_节流实现2021-09-23 18:36:41

    预览: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>防抖与节流</title> <style> body{ height: 2000px; } button{

  • pytest之参数化parametrize的使用2021-09-18 16:04:31

    参考: https://www.cnblogs.com/benben-wu/p/11542411.html https://blog.csdn.net/liudinglong1989/article/details/106206212 前言 unittest框架使用的第三方库ddt来参数化的,而pytest框架就直接使用装饰器@pytest.mark.parametrize来对测试用例进行传参。这个是针对测试方法来参

  • OC 基础 UITableView2021-09-17 20:06:55

    一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希望未来技术之巅上有你们也有我。 下面介绍一下tableview的常用属性跟方

  • Mark Down初学第一步2021-09-17 11:03:27

    # MarkDown ## 标题 标题#+空一格打文字(一级标题) ​ ##+空一格打文字(二级级标题) ​ 后续以此类推 ## 字体 Hello World 两边文字两边各加2个*号 是加粗 Hello World 两边文字两边各加1个*号 是斜体 Hello World

  • 注释:MARK与TODO、FIXME2021-09-16 18:36:22

    MARK: 在OC中的用法: #pragma mark -说明文字(可以不加-) 在swift中的用法:// MARK: - 说明文字(可以不加-)   TODO、FIXME(不区分OC、swift) // TODO: 说明文字 // FIXME: 说明文字 需要在xcode中添加run script(来增加编译警告⚠️),如下: 脚本如下: # ADD TODO: | FIXME: | ERROR: 注释标签

  • 使用二进制作为类对象的唯一标识符2021-09-15 15:59:04

    在TSP问题中,通过二进制位运算的方式, 判断某个访问点是否被访问过, 或者判断此时是否已经完成了所有访问点的访问。 class Node{ int id; // 编号 long mark; // 标识号 int x; // x坐标 int y; // y坐标 } Node nodes[] = new Node(6); 其中 mark 属性即为,二进

  • pytes--配置文件pytest.ini2021-09-14 11:34:34

    前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。 ini配置文件 pytest里面有些文件是非test文件   pytest.ini pytest的主配置文件,可以改变pytest的默认行为   conftest.py 测试用例的一些fixture配置   __in

  • 布局重建知识学习2021-09-10 19:33:44

    LayoutRebuilder.MarkLayoutForRebuild(rectTransform); Mark the given RectTransform as needing it's layout to be recalculated during the next layout pass. 将给定的RectTransform标记为需要在下一次布局过程中重新计算其布局。 /// <summary> /// Mark the given RectTra

  • 设计模式 - 命令模式&中介者模式&组合模式~AppDelegate 解耦2021-09-10 13:30:33

    前言 Hi Coder,我是 CoderStar! 本周主要给大家分享的内容是三种设计模式 (命令模式、中介者模式以及组合模式) 及其它们在AppDelegate解耦场景下的应用,特别是组合模式,沉淀出相应的轮子分享给大家。 同时也给大家说下后面关于设计模式系列的文章计划,因为设计模式相关文章会结合

  • 2021-09-07面试题 16.15. 珠玑妙算2021-09-07 20:29:48

    题目 珠玑妙算游戏(the game of master mind)的玩法如下。 计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。作为用户,你试图猜出颜色组合。打个比方,你可能会猜YRGB。要是猜对某个槽的颜色,则算一次

  • 值得纪念的日子,mark一下2021-09-04 15:33:25

    今天终于独立开发的一款卡牌游戏在IOS发布成功。从策划、研发到IOS发布整个过程可以说是历经艰辛。就IOS审核这块就折磨的不行,不过经历风雨终见彩虹。我突然冒出个想法,是不是把整个游戏研发过程写出来。从策划到研发整个过程写下来,这是个大工程。先看看游戏反映再考虑吧,如果反响很

  • GC的基础知识2021-09-04 15:03:22

    1、什么是垃圾? 没有任何引用指向的一个或者多个对象(循环引用) 2、如何定位垃圾 (1) 引用计数(ReferenceCount) (2)根可达(RootSearching) 3、常见的垃圾回收算法 1、标记清除(mark sweep)- 位置不连续 产生碎片 效率偏低(两边扫描) 2、拷贝算法(copying)-没有碎片,浪费时间 3、标记压缩(mark c

  • Pytest @pytest.mark.parametrize装饰器2021-08-30 21:01:52

    示例: # -*- coding: utf-8 -*- ''' 业务逻辑相同,输入参数量较大, 使用 pyetst内置装饰器@pytest.mark.parametrize('参数名',参数列表) ''' import pytest @pytest.mark.parametrize('x,y',[(1,2),(3,4)]) def test_sum(x,y): sum = x+y p

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有