Java4ye_社区达人页

个人头像照片
Java4ye
已加入开发者社区1875

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖新秀
江湖新秀

成就

已发布64篇文章
0条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
  • Java
  • Python
  • 容器
  • Linux
擅长领域
技术认证

暂时未有相关云产品技术能力~

公众号Java4ye 作者?

暂无精选文章
暂无更多信息

2024年05月

  • 05.29 17:02:32
    发表了文章 2024-05-29 17:02:32

    秒杀项目实战:遇到的问题及解决方案分享

    构建了一个基于Springboot2的秒杀系统。项目利用K8S上的主从结构部署Redis和MySQL,通过Traefik作为网关。RabbitMQ在本地虚拟机的docker环境中,用Prometheus+Grafana监控。设计思路包括隐藏秒杀地址以防止脚本攻击,使用Lua脚本保证库存预扣原子性,但初期版本未处理重复订单校验。为防止MQ故障,将订单信息先保存到Redis,再通过脚本发送到MQ。采用分布式锁防止用户重复下单和缓存击穿问题,使用编程式事务确保库存扣减与订单保存一致性。项目通过JMeter测试,观察性能并分析Redis和RabbitMQ的使用情况。完整代码可在GitHub找到。

2022年08月

2022年05月

  • 05.28 11:06:18
    发表了文章 2022-05-28 11:06:18

    几张图带你快速上手JMeter~

    几张图带你快速上手JMeter~ Apache JMeter 5.4 (Requires Java 8+) 下载地址: jmeter.apache.org/download_jm… 将下载下来的文件进行解压,配置环境变量 JMETER_HOME path 中添加 %JMETER_HOME%\bin 在 cmd 窗口中执行 jmeter 出现下面的画面就可以啦 依据下图的步骤可以创建随机函数 如 ${__Random(3,6,)} 和 ${__RandomString(${__Random(3,6,)},ABCDEFGHIJKLMNOPQRSTUVWXYZ,)} 在这里如下图: 右键
  • 05.28 11:04:16
    发表了文章 2022-05-28 11:04:16

    SpringSecurity+JWT实现前后端分离的使用

    创建一个配置类 SecurityConfig 继承 WebSecurityConfigurerAdapter package top.ryzeyang.demo.common.config; import org.springframework.context.annotation.Bean; import org.springframework.security.access.hierarchicalroles.RoleHierarchy; import org.springframework.security.access.hierarchicalroles.RoleHierarchyI
  • 05.28 11:01:59
    发表了文章 2022-05-28 11:01:59

    Springboot 居然可以设置动态的Banner!!(悄悄滴~)|牛气冲天新年征文

    正题开始啦~ 牛年啦~ 咋们也研究下怎么给我们滴 IDEA 添加点 过年滴气氛,像这样 Spring boot 源码 之 Banner 源码看起来 <( ̄︶ ̄)↗[GO!] Springboot 启动时,会先去创建SpringApplication 对象 。 SpringApplication 构造器 指定banner的模式 Banner 函数式接口 这里有三种模式 run 方法 创建banner对象 进入上图红框中,可以看到这里如果不是 OFF 模式的话会去创建 SpringApplicationBannerPrinter 对象 可以看到该类中还定义了 图片的类型(居然还支持 gif
  • 05.28 10:59:21
    发表了文章 2022-05-28 10:59:21

    SpringCloud Gateway 的使用(一)(建议收藏)|牛气冲天新年征文

    一. Springboot 对应的 Springcloud 版本如下~ 官网地址 : spring.io/projects/sp… 各位大佬 请注意下~ ,最后一句英文还说 不再支持 Dalston, Edgware, Finchley, Greenwich 这四个版本啦 二. 使用 pom 文件 <properties> <spring.cloud-version>Hoxton.SR8</spring.cloud-version> </properties> <dependencyManagement> <dependencies> <dependency
  • 05.28 10:56:52
    发表了文章 2022-05-28 10:56:52

    摸鱼小技巧之IDEA调试篇一

    一. for循环中的条件断点 如图,在IDEA中打下断点,然后右键它,输入想要的条件 如 s1.equals("Java4ye")&&a.equals("Java4ye") 然后直接按下 F9 就可以直接到达我们想要的循环次数和值啦 如果想直接跳到特定的次数, 如图打下该断点 然后输入 i==35 就好啦😄 二. 回退到上一个方法 drop frame 断点如下~ 想回退到上一个方法时,按下 drop frame 按钮 结果就回到上一个方法啦 三. 更改变量的值 Set Value 如果 在 variables 窗口中 ,右键 选择 Set Value 就可以改成自己想要
  • 05.28 10:54:52
    发表了文章 2022-05-28 10:54:52

    关于我尝试抓包微信失败后想到的新方法居然和奥特曼有关~

    关于我尝试抓包微信失败后想到的新方法居然和奥特曼有关~ 以前 微信网页版 还可以登录的时候,我们还可以使用 python 帮助我们实现 自动化操作,调用各种各样的 API ,做做机器人啥的 ,但是现在呢~ 微信网页版 好像不开放了😐 扫码登录都会出现下面的画面 😵 来到之前 很火的 python 库 wxpy, 我看到下面这个场景, 果然也是一片哀嚎 哈哈哈 wireshark 抓包 于是我做了个大胆的决定,尝试用 wireshark 去抓取微信发出的数据包~ (我实在太天真了!🙃) 在电脑上打开微信,参考下面三次握手的图~ 可以看到这里就已经 发出了这么多信息 我晕
  • 05.28 10:52:22
    发表了文章 2022-05-28 10:52:22

    面试官说又逮到一个不会hashmap的

    一. 你知道哪些 map ? HashMap, TreeMap, ConcurrentHashMap, LinkedHashMap 二. HashMap 的特点是什么? 允许 Key 和Value 为 null ,不过只能有一条记录 Key 为 null 线程不安全 无序 数据结构是 数组+链表/红黑树(JDK1.8) 三. JDK1.8 中 HashMap 为什么要引入红黑树 ? 链表 查询时间复杂度 O(n) , 插入时间复杂度O(1) 红黑树 查询和插入时间复杂度都是 O(lgn) 可以参考下 美团技术团队 的这篇文章 tech.meituan.com/
  • 05.28 10:48:19
    发表了文章 2022-05-28 10:48:19

    一文带你了解 TreeMap ,LinkedHashMap 的主要特点

    必备知识点 一. Comparable , Comparator 这两个有什么不同? 可以看到一个是 java.lang 包的,一个是 util 包的。 代码如下,很明显, Comparable 属于 内部比较器, 而 Comparator 属于 外部比较器 。 外部比较器的好处 是我们可以有很多这种比较器,可以按排序的要求去选择 ,便于解耦。 而内部比较器也比较简单,只要实现了该 Comparable 接口就可以进行比较了。 class B implements Comparator<Integer>{ @Override public int com
  • 05.28 10:45:16
    发表了文章 2022-05-28 10:45:16

    搭建个人博客用到了这么些技术~ | 项目复盘

    观前提醒 只需几分钟,你就可以 搭建一个 超级酷炫的个人博客! 😋 只要一行命令就可以实现博客的自动部署和邮件提醒 😝 文章有点长~ 建议收藏慢慢看😄 博客简介 博客采用 Hexo 搭建,使用了 Butterfly 主题,结合 Gitee 仓库, Aliyun 服务器(运用到 Nginx , docker , node.js 等技术) HEXO 简介 HEXO是一个 静态网页 博客框架 , HEXO基于 Node.js, 采用 markdown 解析文章 具体可以通过该链接了解: HEXO官方文档 安装 需要先安装 Node.js 和 Git ,为什么要安装这两个呢,博主使用后的
  • 05.28 10:00:14
    发表了文章 2022-05-28 10:00:14

    fail-safe 和 fail-fast 硬核解析,让你和面试官多聊十分钟!

    简介 java.util 包下的 属于 fail-fast , 快速失败~ 😝 java.util.concurrent 包下的 属于 fail-safe ,安全失败~ 😝 简单来说 就是 fail-fast 在迭代时,如果发现 该集合数据 结构被改变 (modCount != expectedModCount),就会 抛出 ConcurrentModificationException 小伙伴们可以参考下 下面的代码简单实验一下~ 😋 fail-fast 实验代码 实验对象是 Hashtable,这里采用 jdk1.7 的写法 ~ 因为博主还在研究 下文
  • 05.28 09:57:08
    发表了文章 2022-05-28 09:57:08

    两张图带你看清 ConcurrentHashMap 1.7和1.8的不同

    ConcurrentHashMap 包 可以看到这个 ConcurrentHashMap 是位于并发包下面的, 这可是大名鼎鼎的 JUC 呀 并发涉及到线程安全呀,锁的知识点,还有诸如关键字 volatile 等 有关内存屏障的东西 , 还有 Unsafe 类这个更底层的! 😄 嘿嘿~ 我们知道这个 HashMap 是线程不安全的~ ,而 线程安全的 Map 就有这个 HashTable 还有这个 ConcurrentHashMap 。 看到这里不知道小伙伴们会不会 有个小小的疑惑 ? (・∀・(・∀・(・∀・*) 为啥有了 HashTable 还要再设计这个 Concurre
  • 05.28 09:53:18
    发表了文章 2022-05-28 09:53:18

    Java中的锁居然有这么多!

    Java 中的锁 为啥是 Java 中的锁呢, 因为 锁的种类 也有很多的,像我们平时使用的 MySQL,它也有自己的 表锁,行锁,间隙锁 ... ... 还有 基于redis 的分布式锁 (RedLock——红锁)呀,zookeeper的分布式锁 等各种各样的🔒~ 埋个坑🕳 ~ 以后写数据库专题的时候写写 😝 4ye 总结了一份思维导图,小伙伴们可以看看~ 乐观锁 说到这个就不得不提下 JAVA 中的 CAS 了,它是这种思想的具体实现~,还记得上文 频繁出现的 Unsafe 类吗,ConcurrentHashMap 就是通过它去调用这个 CAS ( Compare And Swap
  • 05.28 09:45:34
    发表了文章 2022-05-28 09:45:34

    面试官:Java线程有几种创建方式?

    面试官:线程有几种创建方式? 这个也太简单了叭~ 😝 继承 Thread 类 步骤如下: 创建一个类继承 Thread 重写 run 方法 调用 Thread 类的 start 方法 类图~ 代码如下 public class MyThread extends Thread{ @Override public void run() { System.out.println(this.getClass().getSimpleName()); } public static void main(String[] args) {
  • 05.28 09:26:22
    发表了文章 2022-05-28 09:26:22

    OpenJDK源码下载

    OpenJDK 源码下载 地址 : hg.openjdk.java.net/ 在这里选择对应的 JDK 版本 点进来,就可以找到我们感兴趣的源码了 ,比如 最主要的就是这个 hotspot 虚拟机 , 还有 jdk 源码 其他文件夹的含义如下~ 可以跳过~ 目录讲解 CORBA CORBA(Common ObjectRequest Broker Architecture公共对象请求代理体系结构)是由 OMG 组织制订的一种标准的面向对象应用程序体系规范。或者说 CORBA 体系结构是对象管理组织(OMG)为解决分布式处理环境 (DCE) 中,硬件和软件系统的互连而提出的一种解决方案;
  • 05.27 23:10:52
    发表了文章 2022-05-27 23:10:52

    Thread start 源码揭秘

    Thread start 源码揭秘 public synchronized void start() { /** * This method is not invoked for the main method thread or "system" * group threads created/set up by the VM. Any new functionality added * to this method in the future may have to also be added to the VM. * * A ze
  • 05.27 23:07:23
    发表了文章 2022-05-27 23:07:23

    redis6 安装和可视化工具

    下载 wget http://download.redis.io/releases/redis-6.0.12.tar.gz 复制代码 解压 tar -zxvf redis-6.0.12.tar.gz 复制代码 编译 make 复制代码 若执行make 命令报错 make: command not found,可执行以下命令: yum -y install gcc automake autoconf libtool make yum install gcc gcc-c++ 复制代码 安装 权限不够的话用 sudo make instal 复制代码 更改配置文件 可以拷贝一份默认文件 redis
  • 05.27 21:41:46
    发表了文章 2022-05-27 21:41:46

    由三个感叹号开启的 debug 篇章 | Java Debug 笔记

    !!! JUnit version 3.8 or later expected: 如下所示,当我在进行单元测试时,控制台居然抛出了这么诡异的bug! 三个感叹号开头 此刻的我 ??? 异常信息如下: java.lang.ClassNotFoundException: junit.framework.ComparisonFailure 那么先挖到它的源码看个究竟叭 😝 在264行打个断点,然后debug运行起来 通过 Alt+F8 来获取这个类加载器 都使用到了哪些类 ClassLoader.getClassLoader(caller) 效果如下:可以看到这里 至于为啥会点开这里,
  • 05.27 21:37:51
    发表了文章 2022-05-27 21:37:51

    利用IDEA的Endpoints来打断点 | Java Debug 笔记

    一. pom 文件 引入 quartz jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency> 复制代码 二. 创建一个 job 并继承 QuartzJobBean @Slf4j public class HelloWorldJob extends QuartzJobBean { @Override protected void executeInternal(Jo
  • 05.27 21:34:50
    发表了文章 2022-05-27 21:34:50

    JDK8中关于lambdas的bug| Java Debug 笔记

    本期4ye又带来一个奇怪的Bug啦,是关于 jdk8 中 lambdas 推导泛型失败而导致的编译期错误,下面让我们一起来看看叭 😝 Error:(24, 29) java: 未报告的异常错误java.lang.Throwable; 必须对其进行捕获或声明以便抛出 下面让我们一起来看看叭 场景模拟 代码如下 import java.util.Optional; public class B { public static void main(String[] args) { String s=null; Optional.ofNullable(s)
  • 05.27 21:32:34
    发表了文章 2022-05-27 21:32:34

    jackson解析泛型的正确写法 | Java Debug 笔记

    jackson解析泛型的正确写法 本期 4ye 又带来了一个小 bug 啦,如下,小伙伴们是否见过这个异常呢? in unnamed module of loader 'app' bug描述 上次使用jackson进行数据转换的时候发生了下面这个错误。 java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class com.example.demo.model.User (java.util.LinkedHashMap is in module java.base of loader 'bo
  • 05.27 21:30:15
    发表了文章 2022-05-27 21:30:15

    单例模式八个例子 | Java Debug 笔记

    实现单例模式的八种模式:饿汉式,懒汉式,双重检查锁模式,静态内部类模式,序列化模式,注册式之枚举,注册式之容器,线程实现ThreadLocal 参考大神Tom的《Spring 5核心原理与30个类手写实战-谭勇德》 单例模式 Singleton Pattern 确保一个类在任何场景下只有一个实例,并提供一个全局访问点 使用场景 J2EE 标准中的 ServletContext 、 Spring 框架应用中的ApplicationContext 、数据库的连接池 也都是单例形式 饿汉式 在类加载的时候就立即初始化,并且创建单例对象,属于线程安全 SpringIOC容器Applic
  • 05.27 21:23:32
    发表了文章 2022-05-27 21:23:32

    序列化单例模式的实现————readResolve 源码解读 | Java Debug 笔记

    序列化单例模式的实现————readResolve 源码解读 在可序列化类中加上readResolve方法,就可以实现单例模式了!这是为什么呢?让我们一起看看源码中的奥秘吧! 只有实现了序列化接口 Serializable ,才可以进行 序列化操作, 测试代码 class SingletonTest { */*** ** 序列化测试公共方法* *** *@param* *className* **/* private void testSerializable(String className) { if (className =
  • 05.27 18:07:31
    发表了文章 2022-05-27 18:07:31

    Springboot 结合 easymock 的使用| Java Debug 笔记

    docker-compose安装 这个安装比较简单,执行下面三个步骤就完事了😀 docker-compose官网地址: docs.docker.com/compose/ins… 安装步骤如下:✌ 下载docker-compose sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 复制代码 赋予权限 sudo chmod +x /usr/local/bin
  • 05.27 18:04:40
    发表了文章 2022-05-27 18:04:40

    万字长文,带你快速上手这些池化技术!| Java 开发实战

    池化技术 小伙伴们好久不见呀~ 😝 额 转眼就到了 儿童节 啦 哈哈哈 祝各位大小朋友节日快乐! 轻轻松松过节,开开心心玩耍,老顽童也不错呀😝 哈哈哈 (不忘童真!) 嘿嘿 迎来了自己的第一篇 万字长文! 😝 (中间除了看看金色的雨外,还在做其他笔记~ 所以就拖到现在了 ,,ԾㅂԾ,, 这篇长文除了详细介绍线程池这个点以及它的使用场景外,还分享了下几种连接池滴用法以及避开一些坑🕳,(图还挺多的~) 希望对你有所帮助!!冲冲冲!😋 池化技术~,不知道小伙伴们对这个词是怎么理解的? 为什么要有这个技术呢?解决什么 痛点 呢?哈哈哈 带着小小的思考和 4ye 一起往下看看叭~ 池化
  • 05.27 17:46:29
    发表了文章 2022-05-27 17:46:29

    IDEA2020.1构建Spring5.2.x源码

    环境 源码:spring5.2.x jdk11.08 idea2020.1 spring spring5.2.x源码下载地址 gradle 下载 查看 spring 使用的 gradle 版本,这里要记得将 distributionUrl 指向本地的 gradle 包,不然还是会去下载的。 distributionUrl=file:///H:/download/gradle-5.6.4-bin.zip gradle下载地址 安装 window下,配置环境变量GRADLE_HOME和GRADLE_USER_HOME(一个放库文件的目录) 最后输入gradle -v,看到下面的结果就说
  • 05.27 17:43:33
    发表了文章 2022-05-27 17:43:33

    MySQL索引的测试 (千万级数据) 以及特点总结|周末学习

    创建表 可以看到这里创建的索引类型都是 BTREE -- ---------------------------- -- Table structure for mall -- ---------------------------- DROP TABLE IF EXISTS `mall`; CREATE TABLE `mall` ( `id` int(11) NOT NULL AUTO_INCREMENT, `categoryId` int(11) NOT NULL, `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_gen
  • 05.27 17:37:18
    发表了文章 2022-05-27 17:37:18

    centos8重装MySQL8

    前言: 本来也不想卸载的,因为之前有往db里插入一千多万的数据了。。但是这个数据库好像被我弄坏了。。 输入正确的账号密码一直进不了 很无奈。。 😵 一开始是启动不了,后来发现用户的权限不对(要通过 chgrp 和 chown 去修改),改了之后可以启动,但是就无法登录成功了。。出此下策,顺便换个方式再去插入数据试试 😄
  • 05.27 17:34:51
    发表了文章 2022-05-27 17:34:51

    vue2.6踩坑之vchart的使用(图表)

    介绍 vchart 官网地址 在使用 echarts 生成图表时,经常需要做繁琐的数据类型转化、修改复杂的配置项,v-charts 的出现正是为了解决这个痛点。基于 Vue2.0 和 echarts 封装的 v-charts 图表组件,只需要统一提供一种对前后端都友好的数据格式设置简单的配置项,便可轻松生成常见的图表。
  • 05.27 17:32:46
    发表了文章 2022-05-27 17:32:46

    vue2.6之处理跨域

    跨域介绍 跨域是是由浏览器的同源策略造成的,同源策略是一个安全措施!能减少XSS、CSFR等的攻击。 同源是指,域名,协议,端口均相同 出现跨域 的原因 就有 1. 协议不同 2. 域名不同 3. 端口不同
  • 05.27 17:22:45
    发表了文章 2022-05-27 17:22:45

    服务发现机制SPI居然是破坏者?!

    前言 主要介绍下 Java 中的 SPI 机制 。 Springboot 的 SPI 机制 咱们在下文 Springboot的自动装配中再说~ 😝 嘿嘿 至于 [[ dubbo 的 SPI 机制]],还没时间深入了解,简单知道了它的 SPI 的自适应扩展机制,以及下面这些扩展~(超级多扩展的~)🐷 冲冲冲! 什么是SPI呢? SPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在 ClassPath 路径下的 META-INF/services 文件夹查找文件,自动加载文件里所定义的类(定义多少,加载多少) 它是 Java 提供的一套用
  • 05.27 17:19:36
    发表了文章 2022-05-27 17:19:36

    快速上手java8四大函数式接口!

    函数式接口 函数式接口指的是接口中只有一个抽象方法的接口,用注解@FunctionalInterface标记,表示该接口是函数式接口 注解FunctionalInterface 如图,可以看到这里什么都没有,表面它只是一个标记接口. 四大接口 Consumer 源码如下: 作用: 内部消化传进来的参数, 没有返回值 示例: Consumer<String> consumer=System.out::println; consumer.accept("Consumer"); // 结果: "Consumer" 复制代码 Supplier 源码如下: 作用: 没有传参 , 直接返回一个结
  • 05.27 17:16:52
    发表了文章 2022-05-27 17:16:52

    泛型的上下限怎么理解

    实体类 public class Fruit { } class Apple extends Fruit{} class Pear extends Fruit{} class Orange extends Fruit{} 复制代码 泛型的上限 如下图,可以看到这里是不允许再添加任何实例的,只能从该list中去获取实例。 为什么不能添加呢?🐖 因为这个list 可能有以下几个情况 list是Fruit类型的,此时你去添加Fruit的子类都没问题 list是Apple类型的,此时你只能添加Apple,同理Pear,Orange也是。🙃 根本不晓得传进来的参数list会是哪种类型
  • 05.27 17:13:42
    发表了文章 2022-05-27 17:13:42

    jwt,jws和jjwt

    JWT 是一种标准 官网介绍 jwt.io/introductio… 全称 全称:JSON WEB TOKEN 特点 有两种实现方式: JWS ( JSON Web Signature) JWE ( JSON Web Encryption) 这里我们常用的是这种签名的方式 JWS JWS 特点 由两个 . 分开成三部分 如下 eyJhbGciOiJIUzUxMiJ9.eyJtc2ciOiLmrKLov47lhbPms6jljZrkuLvnmoTlhazkvJflj7cg57uZ5L2g5LiA5qCq5Zub5Y-26I2JIiwic3ViIjoi57uZ5L2g5LiA5qCq
  • 05.27 17:10:47
    发表了文章 2022-05-27 17:10:47

    vue中svg的使用,可改变icon颜色(svg-sprite-loader)

    今天来和小伙伴们分享下之前改 UI 的笔记 , 由于项目需要,要在项目中使用设计师给的 icon 图标,还要改变 icon 的颜色。 幸好找到这么一个神器~ 插件:svg-sprite-loader 版本:@vue/cli 4.3.1 使用: 1. npm install -D svg-sprite-loader 2. 在 src/components/ 下创建 SvgIcon 组件 配置SvgIcon.vue <template> <svg :class="svgClass" aria-hidden="true"> <use :xlink:href="iconNa
  • 05.27 17:08:56
    发表了文章 2022-05-27 17:08:56

    vcharts设置legend属性无效解决办法

    内容概览 需求: 折线图上有 一个产品的目标值和实际值 ,通过点击其中一个legend,同时隐藏该产品的实际值和目标值(指折线图上的线) 当我觉得这个需求很 easy 的时候,居然发现 动态设置 legend 属性无效 …… 通过本文来记录这个解决过程,前端真是太难了 哈哈 在 v-charts 中, 折线图的写法如下: <ve-line :extend="chartExtend" :data="chartData" :events="chartEvents" height="58vh" ></ve-line>。 而 v-charts 是对 echart 的包装,很多事件都可以从 ech
  • 05.27 17:07:16
    发表了文章 2022-05-27 17:07:16

    Springboot 自动装配原理探索

    官网介绍 先来看看官网是怎么定义这个自动装配的~ Spring Boot auto-configuration attempts to automatically configure your Spring application based on the jar dependencies that you have added 可以看到这里说,当你引入了某个 jar 依赖包时,Springboot 会尝试根据这个依赖去自动配置 Spring 应用程序。
  • 05.27 17:03:34
    发表了文章 2022-05-27 17:03:34

    python3入门笔记

    简介 作者: “龟叔”Guido van Rossum 时间: 1989年圣诞节期间开发的 特点: “优雅”、“明确”、“简单” 语言类型: 解释型(高级) 优点: Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。 完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。 缺点: 第一个缺点就是运行速度慢,和C程序相比非常慢,毕竟是解释型语言,运行时要一行行地翻译成cpu能理解的机器码 ,而 C 时编译型的 在运行前直接编译成CPU
  • 05.27 16:55:36
    发表了文章 2022-05-27 16:55:36

    python3入门笔记二之 函数 & 参数

    函数 定义 def : def my_abs(x): if x >=0: return x else: return -x print(my_abs(-55)) 复制代码 返回结果 return: 如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return 返回多个值其实就是返回一个tuple,只有一个tuple时可以省略括号 如 return 1,2,3
  • 05.27 16:49:52
    发表了文章 2022-05-27 16:49:52

    python3入门笔记三之高级特性---切片,迭代,列表生成式,生成器,迭代器

    切片 (取指定索引范围 ) 格式:arr[开始索引:结束索引:Step] 开始索引 默认0,可不写; 结束索引默认为数组的长度, 获取的范围为 开始索引-结束索引 之间, 不包括结束索引; Step默认为1。
  • 05.27 16:40:59
    发表了文章 2022-05-27 16:40:59

    四种引用类型在Springboot中的使用

    文章概览 一.  四种引用的概念 二.  对象可达性介绍 三.  Springboot源码中的引用 概念介绍 不同的引用类型,主要体现的是对象不同的可达性(reachable)状态和对垃圾收集的影响。 01.  强引用 这个就是我们创建的普通对象了~ 当该对象被显示地赋值为 null 时,或者没有被其他存活的对象继续引用时,它就会成为垃圾收集器的目标,等待被收回 02.  软引用 软引用( SoftReference ) , 当内存不足 时会被回收 比如 被回收后,这里会打印 null 而不是 Java4ye 03.  弱引用 弱引用( WeakReference ) , 当 垃圾回收
  • 05.27 16:37:57
    发表了文章 2022-05-27 16:37:57

    python3入门笔记四之函数式编程---高阶函数,返回函数,匿名函数,装饰器,偏函数

    函数式编程 函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数! Python对函数式编程提供部分支持。由于Python允许使用变量,因此,Python不是纯函数式编程语言 高阶函数(Higher-order function) 特点: 变量可以指向函数 即 函数本身也可以赋值给变量 x=abs x(-10) #10 函数名也是变量 abs = 10 abs(-10) # TypeError: 'int' object is not callable 注:由于abs函数实际上是定义在import builtins模块中的,所以要让修改abs变量的
  • 05.27 16:33:11
    发表了文章 2022-05-27 16:33:11

    python3入门笔记五之模块,包

    模块和包 在Python中,一个.py文件就称之为一个模块(Module) 包是指一个包含模块与一个特殊的 __init__.py 文件的文件夹,后者向 Python 表明这一文件夹是特别的,因为其包含了 Python 模块。 注意自建模块的名称不要和内置模块的名称一样python内建模块文档 :
  • 05.27 13:14:24
    发表了文章 2022-05-27 13:14:24

    python3入门笔记六之面向对象编程

    这是我参与更文挑战的第24天,活动详情查看: 更文挑战 不知不觉也来到python的面向对象教程阶段了😄,看到这几个字立刻就想到这个面向对象的三大特征 1. 封装 2. 继承 3. 多态 面向对象编程 Object Oriented Programming,简称OOP 面向对象和面向过程的区别
  • 05.27 13:11:12
    发表了文章 2022-05-27 13:11:12

    Python3入门笔记七之面向对象高级编程

    &#39;限制实例的属性:__slots__ ,把一个方法变成属性调用:@property装饰器,多重继承&MixIn,定制类,枚举类:Enum,元类&#39; 限制实例的属性:__slots__ 限制实例的属性 比如只允许对Student实例添加name和age属性。 由于&#39;score&#39;没有被放到__slots__中,所以不能绑定score属性,试图绑定score将得到AttributeError的错误。注意:__slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的
  • 05.27 13:07:47
    发表了文章 2022-05-27 13:07:47

    Python3入门笔记八之错误、调试和测试

    错误处理机制try...except...finally... 这个的使用和 java 的 try-catch-finally 差不多,只是多了个else来表示没有异常的时候,注意捕获的异常的类 要从子类到父类
  • 05.27 13:06:00
    发表了文章 2022-05-27 13:06:00

    java代理模式和字节码的探索

    文章概览 一. 静态代理 二. JDK动态代理 三. 反编译动态字节码
  • 发表了文章 2024-05-29

    秒杀项目实战:遇到的问题及解决方案分享

  • 发表了文章 2022-08-14

    再也不敢精通Java了——get/set篇

  • 发表了文章 2022-05-28

    几张图带你快速上手JMeter~

  • 发表了文章 2022-05-28

    SpringSecurity+JWT实现前后端分离的使用

  • 发表了文章 2022-05-28

    Springboot 居然可以设置动态的Banner!!(悄悄滴~)|牛气冲天新年征文

  • 发表了文章 2022-05-28

    SpringCloud Gateway 的使用(一)(建议收藏)|牛气冲天新年征文

  • 发表了文章 2022-05-28

    摸鱼小技巧之IDEA调试篇一

  • 发表了文章 2022-05-28

    关于我尝试抓包微信失败后想到的新方法居然和奥特曼有关~

  • 发表了文章 2022-05-28

    面试官说又逮到一个不会hashmap的

  • 发表了文章 2022-05-28

    一文带你了解 TreeMap ,LinkedHashMap 的主要特点

  • 发表了文章 2022-05-28

    搭建个人博客用到了这么些技术~ | 项目复盘

  • 发表了文章 2022-05-28

    fail-safe 和 fail-fast 硬核解析,让你和面试官多聊十分钟!

  • 发表了文章 2022-05-28

    两张图带你看清 ConcurrentHashMap 1.7和1.8的不同

  • 发表了文章 2022-05-28

    Java中的锁居然有这么多!

  • 发表了文章 2022-05-28

    面试官:Java线程有几种创建方式?

  • 发表了文章 2022-05-28

    OpenJDK源码下载

  • 发表了文章 2022-05-27

    Thread start 源码揭秘

  • 发表了文章 2022-05-27

    redis6 安装和可视化工具

  • 发表了文章 2022-05-27

    由三个感叹号开启的 debug 篇章 | Java Debug 笔记

  • 发表了文章 2022-05-27

    利用IDEA的Endpoints来打断点 | Java Debug 笔记

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息