Java
MongoDB聚合操作学习
目录MongoDB聚合操作学习简单示例 MongoDB聚合操作学习 MongoDB的聚合(Aggregation)是一种通过在文档上进行多个操作的过程,然后将结果生成文档的操作。这些操作可以是针对单个集合中的数据文档的,也可以是针对多个集合中的数据进行计算的。 MongoDB中的聚合操作能够处理大量的数据,并提供了灵活的、高效的数据处理方式。 MongoDB聚合操作通过一系列的管道操作构成,每个管
第四次,第五次pta作业及期中考试总结
Java中的多态和接口是面向对象编程中非常重要的概念。让我来解释一下它们的含义和用法。 多态(Polymorphism)是指在面向对象编程中,同一个方法名可以根据对象的不同类型而具有不同的行为。具体来说,在Java中实现多态有两种方式:方法重写(Override)和方法重载(Overload)。 方法重写是指子类重新定义父类中已经存在的方法,方法签名(名称、参数类型和返回类型)必须与父类中的方法相
博客园美化教程大集合【超详细...】
博客园美化教程大集合----极致个性化你的专属博客 要说个人技术博客网站,有很多,像CSDN、博客园、简书、知乎专栏、Github Page等等,应该来说各有优缺点吧,这几个博客我也用过,个人来说还是比较喜欢博客园这种多一点,简单纯净,广告比较少,不影响整体观感 定制自己的博客如下 0. 美化整体效果 定制之前先来看看定制的整体效果。 1. 准备工作 首先,你要定制,得先获取网站的的J
第四五次菜单计价及期中考试分析与总结
前言: 经过五次大作业的洗礼与折磨,相信大家已经被折磨疯掉了吧,经过上一次的blog总结经验我现在已经学会了blog的总结经验,接下来,我将会从这两次大作业即一次期中考试所涉及的知识点,难度以及题量还有我对这三次作业的看法这四个方面展开,有针对的展开一次总结性blog! 1.题量: (1).第四次大作业: 对于第四次大作业而言,老师已经一改之前的作风了,因为之前除了菜单计价这个核心
BLOG-2(软件学院)
一、前言: 此次的BLOG-2是关于PTA的第四、五次大作业以及期中考试的题目分析。在PTA第四、五的两次大作业是在菜单三的基础上进行一个功能的增加。而期中考试主要是对知识点对点的测试。 PTA菜单四考察了很多错误输入情况,PTA菜单五则是在三的条件下去延伸了菜的一些特色。这两次的大作业和期中考试的四道题目主要考察了Java中类的结构构造,继承和多态(Java语言的三大 特性:封装、继承、多态),
SpringBoot(11) -- Logging
SpringBoot默认使用的日志框架是logback,所以引入Web依赖后直接使用Logger. 引入SpringBoot的Web 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web
原来.NET写的Linux桌面这么好看?
如何使用Blazor在Linux平台下运行Desktop程序 本文将讲解如何使用Blazor运行跨平台应用,应用到的技术有以下几点 Blazor Masa Blazor Photino.Blazor Ubuntu 用于验证跨平台性,并且是否提高开发效率,Blazor和Photino一块使用的技术称为Blazor Hybrid, Blazor的优点 Blazor是一种使用.NET和C#构建客户端
面向对象程序设计第四、五次大作业及期中考试总结
第四次大作业 7 - 1 菜单计价程序 - 4 设计点菜计价程序,根据输入的信息,计算并输出总价格。 输入内容按先后顺序包括两部分:菜单、订单,最后以"end"结束。 菜单由一条或多条菜品记录组成,每条记录一行 每条菜品记录包含:菜名、基础价格 两个信息。 订单分:桌号标识、点菜记录和删除信息、代点菜信息。每一类信息都可包含一条或多条记录,每条记
Weblogic < 10.3.6 'wls-wsat' XMLDecoder 反序列化漏洞(CVE-2017-10271)
参考: https://github.com/vulhub/vulhub/blob/master/weblogic/CVE-2017-10271/README.md 反弹shellEXP: 写入webshell(访问:http://your-ip:7001/bea_wls_internal/test.jsp): 工具 https://github.com/21superman/weblogi
Yqw的Blog-2
目录前言总结之前所涉及到的知识点、题量、难度等情况设计与分析1.菜单计价程序-42.菜单计价程序-53.期中考试踩坑心得改进建议总结 前言 总结之前所涉及到的知识点、题量、难度等情况 虽然这个学期过去大半,但是说实话对Java还是没有什么掌握,全靠eclipse报错修改代码拯救。到现在,菜单计价程序也写到了5,接触的知识点也挺多的。像抽象类和接口,类间关系(关联、依赖、组合、聚集、继承)还有一些
我所知道的Handler
简单讲,handler就是两个功能 插入消息,enqueuemessage,msg,when 从消息队列中遍历所有消息,比对msg.when和当前的when,找到合适的位置插入 处理消息,looper.loop会从messagequeue中调用next。取消息,如果消息还没到时间该执行,就会比对时间,下次轮询就通过binder写入,native函数休眠,到时间唤醒执行。 handler内存泄漏 G
通过代码分析spring中bean生命周期的过程
今天我们编写一个简单的demo来分析一下spring中整个bean的生命周期 编写Demo 1. 首先我们定义一个BeanFactoryProcessor的类,目的是为了看出PostProcessBeanFactory接口被调用的时间点 2. 接着再写一个实现了BeanPostProcessor的类,目的是为了看出bean初始化前后的时间点 3. 再给出一个继承了Instantiati
java线程yield和join总结
1.yield 线程礼让(让出cpu),让当前执行的线程暂停,但是不阻塞 让当前线程从执行状态转为就绪状态,等待cpu重新调度(不一定能礼让成功) 执行结果: 2.join 合并线程(可以理解为插队),当此线程执行完毕后,再执行其他线程(其他线程阻塞) 执行结果:
JavaScript学习笔记:对象与类
对象 定义 对象是JavaScript最基本的数据类型。在JS中,几乎一切数据都是对象。即使是原始类型,也都有对应的包装类型,除number外,字面量可以当作对象直接使用,因为js引擎在解析时会隐式地将其转换为对应的包装对象,用完后在销毁。 与静态的面向对象语言采用静态复制的方式来继承与创建对象不同,JS中对象的创建采用委托的设计,这种方式更加契合JS作为动态的弱类型的脚本语言的特性。这种设计在J
都说 C++ 没有 GC,RAII: 那么我算个啥?(赠书福利)
*以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/7A9-tGZxf4w_7eZl3OUQ4A 学过 Java、C# 或者其他托管语言(managed languages)的同学,回过头来看 C++ 的时候,第一反应就是 C++ 没有自动垃圾回收器(GC),而不能充分利用的资源被称为垃圾。 那么 C++ 真的不能
java基础-什么是面向对象,作用,设计对象并使用,封装,this关键字,构造方法,标准JavaBean,对象内存图,成员变量、局部变量的区别
一、什么是面向对象 java是一种面向对象的编程语言,而面向对象是一种编程思想和方法, 它将数据和操作数据的方法组合在一起,形成一个对象,然后通过对象之间的交互实现程序的功能。 1、java中面向对象的思想主要包含以下几个方面: 1、封装:将属性和方法封装成一个类,并且对外只暴露必要的接口,隐藏内部实现细节,以提高安全性和可维护性。 2、继承:通过继承,子类能够继承父类的属性和方法,从而简化代码,
blog-博客美化-添加打赏按钮
博客美化-添加打赏按钮 1.获取支付宝,微信的收款码 1.1.获取收款码图片 1.2.获取收款码链接地址 将图片上传到博客园的相册中右键可以获取图片地址 2.博客园设置JS代码 进入自己的博客园->设置,将以下JavaScript代码添加到“页脚Html代码” 开源插件地址: https://github.com/greedying/tctip 参考地址:
【渗透测试】关闭springboot中actuator监控
正常情况下,为了安全,可以通过如下配置关闭监控点 management: endpoints: enabled-by-default: false 之后访问如health,info等端点,就会报404了,但是如果单纯的访问/actuator路径,还是会有一些信息返回的,这样至少说明了/actuator路径是可以访问的,此时如果有严格的安全渗透测试,很可能安全检测就不通过了。 怎
JVM(二)类加载器子系统和类加载过程
目录类加载器子系统和类加载过程1 简介2 类的加载过程2.1 Loading 加载2.2 link链接2.3 初始化initialization:3 类加载器的分类3.1 引导类加载器3.2 扩展类加载器3.3 应用程序 、系统类加载器3.4 用户自定义加载器4 ClassLoader4.1 获取ClassLoader的方式5 双亲委派机制工作原理双亲委派机制举例一双亲委派机制举例二双亲委派机制的
JVM(一)JVM与Java体系结构
目录JVM与Java体系结构1 前置知识字节码与混合编程虚拟机Java虚拟机 Java Virtual MachineJVM的特点Java虚拟机的作用2 JVM的整体结构Java代码的执行流程JVM的架构模型JVM的生命周期虚拟机的种类Classic VMExact VM☆HotSpotJRockitJ9KVM CDC/CLDC HotSpotAzul VM Liquid VM3 内存结构概述 J
JVM(四)虚拟机栈(一)栈帧结构:局部变量表与操作数栈
JVM(四)虚拟机栈(一)栈帧结构:局部变量表与操作数栈 1 虚拟机栈 1.1 简介 虚拟机栈出现的背景:由于跨平台性的设计,Java的指令都是根据栈来设计的,不同平台的CPU架构不同,所以不能基于寄存器。这样做的优点是跨平台,指令集更小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。 栈是运行时单位而堆是存储单位:栈解决的是程序如何运行的问题,即程序如何运行、如何处理数据,涉及
JVM(四)虚拟机栈(二)栈帧结构:动态链接、方法返回地址与附加信息
JVM(三)虚拟机栈(二)栈帧结构:动态链接、方法返回地址与附加信息 1 动态链接技术 每一个栈帧,都包含着一个指向运行时常量池中该指针所属方法的引用,即方法区中的方法地址,包含该引用的目的就是为了支持当前方法能够实现动态链接。所以动态链接又称为运行时常量池中的方法引用 在java源文件被编译为字节码文件中,所有的变量和方法引用都作为符号引用(Symbolic Reference)保存在cla
JVM(三)运行时数据区概述及线程
目录运行时数据区概述及线程简介线程间共享的说明JVM中的线程说明1 程序寄存器 Program Counter Register为什么使用PC寄存器记录字节码指令地址?(为什么使用PC寄存器记录当前线程的执行地址)为什么程序计数器被设计成线程私有的 运行时数据区概述及线程 简介 内存是硬盘和CPU的中间仓库和桥梁,承载着操作系统和应用程序的实时运行。JVM的内存布局规定了Java在运行过程中内存申
JVM(五)本地方法接口
JVM(五)本地方法接口和本地方法栈 1 本地方法 一个Native Method就是一个Java调用非Java代码的接口。 在定义本地方法的时候,不提供实现体 标识符native能够和除了abstract的java标识符连用 作用是融合不同的语言为Java所用 2 本地方法栈 Java虚拟机栈用于管理Java方法,本地方法栈用于管理本地方法 本地方法栈是线程私有的 可以