一:Python简介 Python是一种应用广泛的通用高级编程语言,由Guido Van Rossum 在1989年创建,并于1991年首次发布。Python是一种解释型语言,它具有强调代码可读性的设计理念,以及允许程序员用比C++或Java等语言更简练额代码来实现语言相关表达功能。Python语言的底层是用C语言编写的,运行速度快。1.Pyth
转载
2023-07-05 21:35:46
93阅读
我们知道不管是类对象还是元类对象,类型都是Class,class和mete-class的底层都是objc_class结构体的指针,内存中就是结构体,本章来探寻Class的本质。Class objectClass = [NSObject class];
Class objectMetaClass = object_getClass([NSObject class]);
复
很多做运营的朋友问小红薯怎么玩❓小红书的核心逻辑流量是不是玄学❓今天就来说说小红书的流量算法机制?①电脑审核②分配初始流量③增加流量④推荐结束
原创
2024-05-29 17:44:24
494阅读
在 Java 中,我们经常会使用到一些处理缓存数据的集合类,这些集合类都有自己的特点,今天主要分享下 Java 集合中几种经常用的 Map、List、Set。目录1、Map一、背景二、Map家族三、HashMap、Hashtable等四、HashMap 底层数据结构2、List一、List 包括的子类二、ArrayList三、ArrayList 源码分析四、LinkedList
转载
2023-06-25 14:45:56
35阅读
1.volatilevolatile关键字作用:Java内存模型确保了所有线程看到的被声明为volatile的字段的修改是一致的。JVM层面:如果对volatile变量进行写操作,JVM会向处理发送一条Lock前缀的指令,使得这个变量所在的cache行的数据写回到内存中。Lock前缀指令的执行会声言处理器的LOCK#信号,该信号确保在声言期间,处理器可以独占任何共享内存(锁住总线)。计算机层面:根
转载
2023-08-13 18:05:42
52阅读
一、Collections:它的出现给集合操作提供了更多的功能。这个类不需要创建对象,内部提供的都是静态方法。Collection:单列集合|--List 有序,可重复
|--ArrayList
底层数据结构是数组,查询快,增删慢
线程不安全,效率高
|--Vector
底层数据结构是数组,查询快,增删慢
线程安全,效率低
|--LinkedList
底层数据结构是链表
转载
2023-11-07 08:25:12
17阅读
JVM体系结构JVM是一种解释执行class文件的规范技术。JVM体系结构我翻译的中文图:中文图
类装载器子系统在JVM中负责装载.class文件(一种8位二进制流文件,各个数据项按顺序紧密的从前向后排列, 相邻的项之间没有间隙,经编译器编译.java源文件后生成,每个类(或者接口)都单独占有一个class文件)。
运行时数据区
方法区当JVM使用类装载器定位clas
转载
2023-07-24 15:55:45
68阅读
文章目录一 集合1.1 Iterable与Iterator1.2 Collection接口1.2.1 ArrayList1.2.1.1 重要参数1.2.1.2 构造器1.2.1.3扩容过程1.2.1.4 增加方法1.2.1.5 总结1.2.2 Vector1.2.2.1 重要参数1.2.2.2 构造器1.2.2.3 扩容过程1.2.2.4 总结1.2.3 LinkedList1.2.3.1 重要
转载
2023-07-18 22:00:10
106阅读
1.io流的概念把这些不同类型的输入、输出源抽象为流(Stream),其中输入或输出的数据称为数据流(Data Stream),用统一的接口来表示;2.io流的分类按照流向分:输入流:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中;输出流:把程序(内存)中的内容输出到磁盘、光盘等存储设备中;深入java io底层(上)-1.jpg (29.12 KB, 下载次数: 0)2021-1-1
转载
2023-08-06 21:41:22
99阅读
1、谈谈你对java的理解平台无关性GC语言特性面向对象类库异常处理2、java如何实现平台无关性.java文件javac编译,生成字节码.class文件jvm解析,转换成特定平台的执行指令java源码首先被编译成字节码,再由不同平台的jvm进行解析,java语言在不同的平台上运行时不需要重新进行编译,java虚拟机在执行字节码时,把字节码转换成具体平台上需要的指令3、jvm如何加载.class文
转载
2023-07-20 17:23:55
49阅读
首先给自己一个介绍,本人是一个蠢笨蠢笨的女程序员,由于有一天突然觉悟了,想在学习的过程中写一些笔记,以前一直不敢开始这个事情,因为我害怕写错了,误导了别人,现在还是害怕,如果真的误导了同行,你们也轻点喷我 哈哈哈接下来进入正题,今天来记录一下我自己学到的东西,Java相关的硬件知识,说到这个我们先谈谈计算机的最重要的组成部分,跟我们写程序联系比较紧密的部分:先来看看计算机的组成,如下图:一、cpu
转载
2023-08-09 12:21:25
52阅读
面试问道:谈谈你对java的理解一般我们要简单的从 平台无关性、GC、语言特性、面向对象、类库、异常处理等来简要回答。平台无关性如何实现Compile Once,Run Anywhere如何实现 提供了不同平台的虚拟机,所以可以通过下图可以实现 Java源码首先被编译成字节码,再由不同平台的JVM进行解析,Java语言在不同平台上运行时是不需要进行重新编译的,Java虚拟机在执行字节码的时候,把字
转载
2023-08-26 11:29:12
124阅读
java.c++.c#.c的区别 C++则一般看作是对C语言的扩展。Java语言是一种完全的面向对象语言,虽然它的底层(运行时库)是用C语言开发的,可是并不依赖于C。C#是微软开发的一种编程语言,语法类似Java,几乎就是从Java的翻版。C/C++的优点在于与底层比较接近,可以控制的粒度更加精细,是开发系统级应用的最佳选择。关于缺点,我想正是源于其优点,因为它们能控制的编程元素粒度精细
转载
2023-12-03 07:02:20
32阅读
Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM中,JVM执行字节码,最终需要转换为汇编指令在CPU上执行,Java中所有的并发机制依赖于JVM的实现和CPU的指定。volatile 的应用在并发编程中synchronized和volatile关键字都扮演着重要的角色,volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意
转载
2023-06-06 22:45:56
82阅读
深入Synchronized底层原理对于synchronized大家应该都很熟悉,主要作用是在多线程并发时,保证线程访问共享数据时的线程安全。它的作用有三点:确保线程互斥的访问同步代码保证共享为师的修改及时可见有效解决指令重排(synchronized同步中的代码,JVM不会轻易优化重排序)Synchronized使用它的用法主要是从两个维度上来区分:根据修饰对象的分类
修饰代码块
转载
2023-10-19 13:30:02
51阅读
前言 Java是目前用户最多、使用范围最广的软件开发技术,Java的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的Java类库、Java编程语言及许许多多的第三E方Java框架(如Spring、 MyBatis等) 构成。在国内,有关Java类库API、Java语言语法及第三方框架的技术资料和书籍非常丰富,相比而言,有关Java虚拟机的资料却显得异常贫乏。附面试思维导图(仅供
转载
2023-08-05 01:45:46
327阅读
一、Java底层基础题1、SpringMVC的原理以及返回数据如何渲染到jsp/html上?答:Spring MVC的核心就是DispatcherServlet , 一个请求经过DispatcherServlet ,转发给HandlerMapping ,然后经反射,对应 Controller及其里面方法的@RequestMapping地址,最后经ModelAndView和ViewResoler返回
转载
2023-07-17 20:52:43
75阅读
1.多线程的底层实现(1)首先回答什么是线程1个进程要想执行任务,必须得有线程.线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行(2)什么是多线程1个进程中可以开启多条线程,每条线程可以并行(同时)执行不同的任务。多线程的作用:更新显示UI界面、处理用户触摸事件。(3)Mach是第一个以多线程方式处理任务的系统,因此多线程的底层实现机制是基于Mach的线程。(4)开发中实现多线程
转载
2023-07-16 21:36:08
178阅读
java io体系 如图可以看出,java的io按照包来划分的话可以分为三大块:io、nio、aio,但是从使用角度来看,这三块其实揉杂在一起的,下边我们先来概述下这三块:io:主要包含字符流和字节流,我们常用的文件读写,流处理等都要用到,也是本次介绍的重点。jdk1.7之后的io底层部分类经已改为使用阻塞的nio实现了nio:jdk1.4后加入,多路非阻塞(多路IO复用模型),此外还实现了bu
转载
2023-08-13 23:05:21
64阅读
汇编语言(机器语言)的执行过程 汇编语言的本质:机器语言的助记符 其实它就是机器语言计算机通电 -> CPU读取内存中程序(电信号输入)->时钟发生器不断震荡通断电 ->推动CPU内部一步一步执行(执行多少步取决于指令需要的时钟周期)->计算完成->写回(电信号)->写给显卡输出(sout,或者图形)CPU的基本组成PC
转载
2023-08-09 12:22:58
35阅读