Java4ye_社区达人页

个人头像照片
Java4ye

0关注

0粉丝

已加入开发者社区1980

勋章 更多

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

成就

已发布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 笔记

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