- 2024-09-03Java面向对象练习---黑马文字版格斗游戏
角色类属性:privateStringname;privateintblood;privatechargender;privateStringface;容貌face描述:String[]boyfaces={"风流俊雅","气宇轩昂","相貌英俊","五官端正","相貌平平","一塌糊涂","面目狰狞"}
- 2024-09-03Optional【JDK8新特性】
描述Optional类旨在解决空指针异常问题,它是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。避免空指针异常普通写法publicStringgetName(Useruser){returnuser!=null?user.getName():null;}publicv
- 2024-08-21Secure Coding in C and C ++ (四)局部静态构造函数 虚函数
前言上一章节我们讲解了关于C++静态和指针与引用的部分我们先来回顾一下相关的内容:指针说白了就是地址,inta;int*ptr=&a这里的整形指针就是存放的整数变量的地址静态static有两种层面:第一种层面就是在其他的文件里,如果加入了static修饰那么被修饰的在link
- 2024-08-15ReentrantLock
可打断importjava.util.concurrent.locks.ReentrantLock;/*ReentrantLock可打断**/publicclassT{privatestaticReentrantLocklock=newReentrantLock();publicstaticvoidmain(String[]args)throwsInterruptedException{Threadthre
- 2024-08-14wait() vs sleep()
wait(timeout)释放对象锁importlombok.SneakyThrows;publicclassT{@SneakyThrowspublicstaticvoidmain(String[]args){Objecto=newObject();Threadthread1=newThread(()->{try{synchronized
- 2024-08-14线程执行顺序 join()
importlombok.SneakyThrows;importjava.util.concurrent.TimeUnit;publicclassT{@SneakyThrowspublicstaticvoidmain(String[]args){Objecto=newObject();Threadthread1=newThread(()->{try{
- 2024-07-30文字格斗游戏
文字格斗游戏importjava.util.Random;publicclassRole{privateStringname;privateintblood;publicRole(){}publicRole(Stringname,intblood){this.name=name;this.blood=blood;}publicStringget
- 2024-07-28Java周总结4
1、进行面向对象的案例packagecom.myjava.playgame;importjava.util.Random;publicclassuser{//姓名。血量,性别,长相privateStringname;privateintblool;privateStringgender;privateStringface;//长相数组String[]boyf
- 2024-07-26C++自学笔记17(const和mutable)
const在之前的笔记中我们出现很多次constchar*name=“shaojie”,定义一个不可变指针存放字符串。不可变就来自const,表示“只读、常量”为什么需要它呢?我们需要一些东西不可被修改。const加数据变量#include<iostream>intmain(){constintMAX_AGE=99;M
- 2024-07-10Java面向对象小游戏--文字版格斗游戏(附带全套源代码)->基于JavaBean
一、前言java部分的基础学习已经完结,接下来给大家分享的大多为java相关的案例分析,也会有一些小项目,这点不要太过于担心,主要还是基础部分要打牢固。java部分的难点就在面向对象这一点,学习C语言的小伙伴们应该是第一次听说方法。这点也是和C语言相差巨大的地方,不过对于学习过pyt
- 2024-07-09java反射技术学习
反射反射:加载类,并允许以编程的方式解剖类中的各种成分(成员变量,方法,构造器等)反射学什么?学习获取类的信息、操作他们1.反射第一步:加载类、获取类的字节码:Class对象 packagecom.itheima.reflect; publicclassreflect1{ publicstaticvoidmain(String[]
- 2024-06-18spring boot jpa 进行通用多条件动态查询和更新 接口
原因:jpa没有类似于mybatis的那种拼接sql的方式想动态更新需要使用CriteriaUpdate的方式去一直拼接,其实大多数场景只要传入一个非空实体类,去动态拼接sql1.定义实体类继承一个统一的类型@Data@ToString@Entity@Table(name="sys_user")@DynamicInsert@JsonIgno
- 2024-05-26半年不在csdn写博客,总结一下这半年的学习经历,coderfun的一些碎碎念.
前言自从自己建站一来,就不在csdn写博客了,但是后来自己的网站因为资金问题不能继续维护下去,所以便放弃了自建博客网站来写博客,等到以后找到稳定,打算满意的工作再来做自己的博客网站。此篇博客用来记录自己在csdn消失的这几个月到底做了什么正文这一篇记录了博主从一个浅浅
- 2024-05-10m1_day20
课程内容:Stream流Stream流:jdk8.0新增的类专门用来处理集合/数组中的元素可以将Stream流看做是一个处理数据的管道通过他的一系列方法[过滤求和去重求最值...]对流里面的元素进行加工可以使代码变得更加简化且优雅流的特点:惰性求值延迟执行内部迭代器
- 2024-04-24java中的Context
在java编程中,上下文(Context)是指程序运行时的环境和状态的集合。包括了类对象变量方法等运行时的相关数据在类中,我们可以通过this获取当前类的变量、方法的上下文,例如getset方法:this.val就是获取当前类的上下文。publicclassUser{privateStringname;publicStri
- 2024-04-17java多线程 读取变量同步安全的案例
本次介绍,我使用的是synchronized同步代码块的关键字来读取list,在写java多线程时,一定要注意synchronized关键字的有效范围。ps:如果synchronized关键字的代码块范围太大,可能会导致优先获取到cpu资源的第一个线程在满足条件的情况下一直无法跳循环,从而使得其他线程无法给获
- 2024-03-11使用@Autowired + Map 实现策略模式
创建接口publicinterfaceUserService{StringgetName();}创建多个类实现上面的接口实现一importcom.boot.service.UserService;importorg.springframework.stereotype.Service;@Service("zhangsan")publicclassZhangsanUserServiceImplimplementsUserServ
- 2024-03-06Caused by: org.apache.ibatis.reflection.ReflectionException: Error parsing property name 'lambd
问题描述1、编译过程是不会被发现的;2、运行时报错:Causedby:org.apache.ibatis.reflection.ReflectionException:Errorparsingpropertyname'lambda$pages$4d14352e$1'.Didn'tstartwith'is','get'or'set'。问题分析MyBatis-Plus的条件构造器常用
- 2024-02-25python——面向对象——知识汇总二
Pythonproperty()函数:定义属性 我们一直在用“类对象.属性”的方式访问类中定义的属性,其实这种做法是欠妥的,因为它破坏了类的封装原则。 正常情况下,类包含的属性应该是隐藏的,只允许通过类提供的方法来间接实现对类属性的访问和操作。因此,在不破坏类封装原则的基础上,为了能
- 2024-01-29Dubbo之服务禁用启用逻辑
一、简介本文主要介绍dubbo里面和服务disable相关的源码流程,方便以后出问题快速定位原因;之前是一套注册中心zk集群,dubbo版本2.7.3,dubbo-admin启用禁用没有问题,现在升级dubbo版本为2.7.22,zk集群搞了2套,发现disable和enable没用了,禁用了依然可以调用,遂研究了下关于disable的相关
- 2024-01-20compareTo、Comparator、TreeSet排序那些事
前言:对于后端开发而言,学会对数据的自定义排序还是十分有必要的。需要用到排序的场景也是很多的,什么排行版展示、利用时间+别的条件排序、还有预接单的数据就是要展示在已接单的数据前面这种需求、等等。总之很重要的!一:对集合排序对以下的数据做展示顺序排序:未接单>预接单>已接单。(
- 2024-01-15切点打印:被切的类名、方法名、方法参数值、方法参数类型等
privatevoidprintMethod(JoinPointjoinPoint,Stringname)throwsNoSuchMethodException{MethodSignaturesignature=(MethodSignature)joinPoint.getSignature();Class<?>clazz=joinPoint.getTarget().getClass();Methodmethod=clazz.ge
- 2024-01-10无涯教程-Redis - CLIENT GETNAME 命令函数
RedisCLIENTGETNAME命令返回由CLIENTSETNAME设置的当前连接的名称,由于每个新连接都是在没有关联名称的情况下开始的,因此,如果未分配名称,则返回空批量答复。CLIENTGETNAME-语法以下是RedisCLIENTGETNAME命令的基本语法。redis127.0.0.1:6379>CLIENTGETNAME参考
- 2024-01-10Thread 之 join() 方法
案例代码@Slf4jpublicclassJoinDemo{publicstaticvoidmain(String[]args)throwsInterruptedException{Threadt1=newThread(()->{log.info("{}线程启动",Thread.currentThread().getName());try{
- 2023-12-20javascript Pipe方法执行流
pipe的概念很简单,就是将n个函数组合起来,他是一个从左到右的流,每个函数执行的时候都传入之前函数的结果。下面写一个返回一个人名字的函数:getName=(person)=>person.name;getName({name:"Buckethead"})//返回"Buckethead"接下来写一个将字符串大写的函数uppercase=(