自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 python简单爬取jd商品评论数据(可自定义)

python爬取jd商品评论数据1.导入包# -*- coding: utf-8 -*-import pandas as pdimport urllib.request as reqimport jsonimport sysimport timeimport random# Return the current default encoding used by the Unicode implementation.print(sys.getdefaultencoding())2.声

2020-07-28 09:24:43 590

原创 Java CAS是什么,它的底层原理?

对于CAS部分学习,予以记录!

2023-11-04 17:50:45 536

原创 Java Linux环境服务器变慢时的诊断思路与性能评估

对于Linux下,服务器变慢后,对我们应进行的诊断思路,予以记录!int i = 0;System . out . println(new Random() . nextInt(1000) + ",这是第" +(++ i) + "次");int i = 0;System.out.println(new Random().nextInt(1000) + ",这是第" + (++i) + "次");Linux下执行命令:jps -l。

2023-11-03 19:20:04 231

原创 Java 谈谈你对OOM的认识

对OOM部分的认识,予以记录!

2023-10-30 18:14:30 639 1

原创 Java 四种引用类型

对Java 四种引用的学习,予以记录!

2023-10-29 20:43:55 241

原创 Java JVM GC垃圾回收两种方式:引用计数法与根可达路径法

对于Java两种确定对象为可回收的两种方式,予以记录!

2023-10-29 08:27:57 668

原创 Windows查看核心与线程数

查询电脑硬件CPU信息命令的学习,予以记录!

2023-10-29 06:15:11 3310 1

原创 Java使用javah命令:‘javah‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

原因:新版的Java不使用javah的命令了,而是使用javac -h。

2023-10-18 18:53:28 389

原创 Android Framework通信:Handler

线程间的通信,两个线程使用公共的变量或者公共的其他东西都可以进行通信,但是这种方式不是自主的,不能够自主切换线程执行,所以Handler的最终目的是为了线程间的切换,线程异步消息处理Android UI操作并不是线程安全的,并且这些操作必须在UI线程执行。如果非要在子线程中更新UI,那会出现什么情况呢?很容易抛一个CalledFromWrongThreadException异常。Handler。

2023-10-15 23:22:01 325

原创 Java 内存溢出、内存泄漏与内存抖动介绍

对内存溢出、内存泄漏与内存抖动的学习,予以记录!OOM产生的原因:1.内存泄漏2.频繁申请内存得不到及时的回收减少OOM的概率:1.尽可能少的发生内存泄漏2.尽可能不在循环中申请内存3.尽可能不在调用次数多的函数中申请内存。

2023-10-15 23:17:09 509

原创 Android Framework通信:Binder

对Binder跨进程通信的原理,予以记录!Binder 原理剖析与使用——西门吹雪Binder 是一种进程间通信机制,基于开源的 OpenBinder 实现;OpenBinder 起初由 Be Inc. 开发,后由 Plam Inc. 接手。从进程间通信的角度看,Binder 是一种进程间通信的机制;从 Server 进程的角度看,Binder 指的是 Server 中的 Binder 实体对象;

2023-10-15 22:03:02 398

原创 Linux传统跨进程通信原理

进程隔离进程空间划分:用户空间(User Space)/内核空间(Kernel Space)系统调用:用户态/内核态。

2023-10-13 08:28:16 275

原创 Android JNI调用流程

对基本的JNI开发流程予以记录参考书籍:《JNI_NDK开发指南》JNI开发流程——东邪丶JNI开发流程——Android百晓生。

2023-10-12 16:27:10 296

原创 Android JNI代码语法解释

JNI通过jstring来处理字符串数据,但是jstring是指向JVM内部的字符串,和C风格的字符串类型char * 不同,因此必须使用合适的JNI函数来访问JVM内部的字符串。类: 例如String的签名为Ljava/lang/String;因为Java默认使用unicode编码,而C/C++默认使用UTF编码,所以要注意进行编码转换。即根据JNI所约定的命名规则来指定函数的命名,具体规则如下:Java_类全路径_方法名。数组:用[表示数组签名, 例如int[]的签名为[I。均用于定义与平台相关的宏。

2023-10-12 16:24:33 234

原创 Activity启动流程

System_Server进程在接收到请求后,进行一系列的准备工作,再通过Binder IPC向APP进程发送scheduleLanuchActivity的请求。2、System_Server进程收到请求后,采用Socket IPC向Zygote进程发出创建APP进程的请求,Zygote进程fork出新的进程,即APP进程;根Activity启动过程中涉及四个进程:Launch进程、AMS所在进程(System_Server)、Zygote进程和APP进程。

2023-10-09 23:10:18 132

原创 Android自定义View流程

在开发中,View视图具有非常重要的作用,它是直接呈现给使用者的,因此向用户展示精美高效的View视图很有意义。Android系统提供了丰富的视图组件,如TextView、ImageView、Button等,还提供了RelativeLayout、LinearLayout、FrameLayout等组合组件,使用这些组件搭配能实现良好的视图效果。

2023-10-09 17:41:38 791

原创 Android禁止截屏当前应用

最新的MIUI 14中测试,无论两种方法所处在setContentView()前或后,功能皆正常,都无法截屏/录屏。

2023-10-09 17:11:25 208

原创 实际开发中常用的Git操作

git是用C语言开发的,以追求最高的性能。git自动完成垃圾回收,也可以用命令git gc --prune直接调用。

2023-10-09 13:45:16 117

原创 android:configChanges属性总结

Android中的组件Activity在manifest.xml文件中可以指定参数android:ConfigChanges,用于捕获手机状态的改变。在Activity中添加了android:configChanges属性,在当所指定属性(Configuration Changes)发生改变时,通知程序调用onConfigurationChanged()函数。Google官网链接:android:configChanges属性。

2023-10-09 13:36:59 802

原创 Android Studio中如何Ctrl+鼠标左键直接查看源码

在Android开发过程中,如果想进一步了解触摸事件分发、Message等工作机制,我们需要查看Android SDK源码。但是当我们在 Android 查看源码时,经常会看到 throw new RuntimeException,而我们想要去看到相应的内部实现代码如:我们可以在Android Studio中实时查看相应的源码实现,以下是解决方案。

2023-09-17 09:02:33 234

原创 《Android第一行代码》学习笔记

在进行社招面试准备的间隙,学习了《第一行代码》,对于其中比较通用且重要的知识点予以记录。

2023-09-15 17:38:02 426

原创 代码实践:Android新闻应用手机平板一套代码维护开发流程(碎片Fragment用法)

NewsContentActivity类中定义了actionStart(),作为其他活动启动此活动的最佳写法,调用refresh()将标题与内容两个参数分别写入两个控件中,此时新闻详情内容部分创建完成。

2023-09-15 17:36:11 118

原创 Android第一行代码:获取必应每日一图

需要获取到每日必应一图的图片url加载到ImageView获得更好的效果。

2023-09-14 08:15:25 138

原创 windows上配置Git并上传项目到Github

代码完成之后,git status查看当前代码状态,git add .添加所有文件到暂存区,git commit -m “”添加描述提交到本地仓库,git push origin main提交到远程仓库。删除当前git global user.name配置:git config --global --unset user.name。查看当前git global配置:git config --global --list。编辑当前git global配置:git config --global --edit。

2023-09-12 09:17:46 119

原创 Android P以上系统版本无法使用非加密连接(Http)解决方法

Android 9.0以上的应用默认都被限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。同时,目标API级别为27或更低的应用程序的默认值为“ true”。面向API级别28或更高级别的应用默认为“ false”。

2023-09-12 08:59:25 106

原创 2023 Android Studio中LitePal开源库的配置与简单使用

在使用Litepal开源库操作数据库时,进行到这个步骤爆红参考资料经过诸多网上查阅与实际操作后,总结如下使用jar包引入依赖及详细配置步骤。

2023-08-27 06:50:51 1134

原创 JAVA笔面试题

文章目录1.类加载过程中,父子类静态代码,静态变量,构造方法,普通代码的加载顺序2.接口可以多继承?3.volatile保证线程安全?3.求数组连续子序列最大和4.java垃圾回收算法,优缺点?5.深拷贝与浅拷贝6.string,stringBuffer,stringBuild各自有什么特点?7.说明你知道的三种设计模式,并说出他们的使用场景8.书写一个线程安全的单例模式9.创建线程方式,优缺点?10.java容器,哪些是线程安全的?11.非递归实现二叉树中序遍历参考链接1.类加载过程中,父子类静态代码,

2023-08-18 18:02:08 279 1

原创 2023 JDK 8下载安装教程

WINDOWS+R键,输入cmd,进入命令行界面。

2023-07-24 10:34:19 262

原创 Java 集合容器之Collection接口,Map接口实现类

对java集合相关知识,予以记录!集合可以看作是一种容器,用来存储对象信息,所有集合类都在java.util包下,且支持多线程的集合类位于java.util.concurrent包下Java的集合类主要由两个根接口派生出来,分别是Collection和Map。Java中的集合类一类是实现Collection接口;另一类是实现Map接口:Collection接口:单列集合,用来存储一个一个对象。Collection中可以容纳一组集合元素(Element)

2020-12-29 09:12:35 261

原创 JUC重要基石之AQS(Abstract Queued Synchronizer):抽象队列同步器

文章目录一、它是什么?1.基本结构:volatile int state+CLH变种的双向队列2.为什么它是JUC下重要基石?JUC下的类中包含有Sync类,而其从底层都继承了AQS3.锁与同步器的区别:锁,面向锁的使用者;同步器,面向锁的实现者二、它能干嘛?排队等候机制:加锁导致阻塞,有阻塞则需要排队,排队则必须通过某种形式的队列来进行管理1.CLH变体的虚拟双向队列:将暂时获取不到锁的线程加入到队列中2.volatile整型变量state:使用一个volatile的int成员变量来表示同步状态state

2020-12-28 17:26:04 292

原创 Java 三种垃圾回收算法与七种垃圾收集器

对Java 中垃圾回收相关知识,予以记录!JVM调优之垃圾定位、垃圾回收算法、垃圾处理器对比。

2020-12-10 21:22:45 638 1

原创 Java JVM常用参数

对Java JVM基本参数类型与简单使用,予以记录!

2020-12-10 21:12:52 2020 1

原创 Java 死锁编码及定位分析

对于java中死锁的学习,予以记录!死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象若无外力干涉那它们都将无法推进下去,如果系统资源充足,进程的资源请求都能得到满足,死锁出现的可能性就很低。否则就会因争夺有限的资源而陷入死锁。

2020-11-20 20:23:10 184 1

原创 Java 深入浅出线程池

对Java线程池的学习,予以记录!因为线程资源必须通过线程池提供,不允许在应用中自行显式创建线程(new Thread().start())处理流程线程池可处理的任务数 = 最大线程数 + 阻塞队列长度当创建线程到最大线程数后,非核心线程数优先处理不在阻塞队列中的任务。任务数等于corePoolSize + 阻塞队列长度时,不创建新的线程任务数大于corePoolSize + 阻塞队列长度且线程数小于maximumPoolSize时,需要创建新的线程。

2020-11-20 12:58:23 591 1

原创 Java 创建线程的3种方式以及它们的优缺点

文章目录1.创建线程的三种方法2.三种方式的优缺点①采用继承Thread类方式:②采用实现Runnable接口方式:③Runnable和Callable的区别:④start()和run()的区别3.参考链接1.创建线程的三种方法继承Thread类,重写run();实现Runnable接口,重写run();实现Callable接口,重写call();创建线程池创建2.三种方式的优缺点①采用继承Thread类方式:(1)优点:编写简单,如果需要访问当前线程,无需使用Thread.curren

2020-11-18 20:27:18 1520

原创 Java Synchronized与ReentrantLock的区别与不同

对synchronized与reentrantLock区别的学习,予以记录!

2020-11-17 14:07:07 138 1

原创 Java 阻塞队列BlockingQueue接口

对于阻塞队列BlockingQueue的学习,予以记录!BlockingQueue接口类似于list接口,①阻塞队列有没有好的一面?②不得不阻塞,如何管理?类似ArrayList用法。

2020-11-16 21:37:09 138 1

原创 公平锁与非公平锁、可重入锁(递归锁)、自旋锁、独占锁(写锁)、共享锁(读锁)、互斥锁

文章目录三、自旋锁1.理论2.代码验证①AtomicInteger实现原理CAS②自己编写一个自旋锁3.结论:自旋锁会使线程通过循环比较方式获取锁直到成功为止。四、读写锁1.理论2.代码验证:模拟一个分布式缓存进行多线程读写操作问题:发现不符合写操作的原子+独占3.结论:读写锁ReentrantReadWriteLock可以保证缓存中的读共享,写独占操作三、自旋锁四、独占锁(写锁)/共享锁(读锁)/互斥锁三、自旋锁1.理论是指尝试获取锁的线程不会立即阻塞,而是采用循环的方式去尝试获取锁。目的:

2020-11-15 19:55:03 767 1

原创 Java JUC之CountDownLatch、CyclicBarrier以及Semaphore

对JUC中的CountDownLatch、CyclicBarrier以及Semaphore的学习,予以记录!i < N;* }* }//模拟班长最后锁门问题//模拟5位同学分别进行离开教室的操作i < 6;i++) {System.out.println(Thread.currentThread().getName()+" 同学走了");//最后输出班长锁门的情况。

2020-11-14 14:37:01 271 1

原创 Java 不安全集合类ArrayList/HashSet/HashMap之高并发解决方案

对不安全集合类在高并发下解决方案的学习,予以记录!

2020-11-13 08:29:56 298 1

prototype2.bat

prototypef2.bat

2024-01-13

prototypef1.bat

prototypef1.bat

2024-01-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除