Java
MySQL学习3--联表查询
1、常规联表查询 创建两张数据库表如下: 联表查询 老邢属于哪个部门? 联表查询的时候对字段可以起别名 2、内连接和外连接 join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。 2.1、内连接 inner join 语法格式: 例1:#查教学部有多少人 例2:查看老邢属于哪个部门 2.2、外连接 a、左外连接 left joi
一篇文章搞懂NIO效率高的原理
NIO相比BIO的优势 NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。 bio与nio 面向流与面向缓冲 Java NIO和BIO之间第一
[转]前台传递给后台的JSON字符串中的引号 “” 在JAVA后台被转义为 "
1、问题: 前台数据,JSON字符串带有引号 “” ,数据被传递到后台,引号被转义为 ",后台无法解析。 前台数据如下:正常 后台数据如下:大部分正常,只有JSON字符串中的“” 被转义为 " 2、解决: 方法一:使用apache的lang包里的方法 String appJson = StringEscapeUtils.unescape
mybatis-plus springboot无法创建bean
在学习尚硅谷的mybatis-plus中,发现依托代码无法创建userMapperbean,在网上找了各种办法,终于是找到了一个大无语的办法。 只要将springboot的版本主动降到2.x.x之后便可以创建。可能mp是国人写的目前对springboot3.x.x并没有做适配,但是更进一步的方法正在思想中。
UnrecognizedPropertyException: Unrecognized field 解决
转载请注明出处: 在项目得不同环境上对接外部的服务接口,且存在不同版本间可能有字段不同得问题,遇到这种问题在使用jackson解析时,如果格式化得字符串与定义得java类不能完全对应时,就会报错:Unrecognized field ,代码还原: 运行main方法,报错如下: 解决方案,在转换得类上使用 这个注解 @JsonIgnoreProperties(i
APP中Web容器的核心实现
现在的业务型APP中,采用纯原生开发策略的已经很少了,大部分都使用的混合开发。如原生,H5,ReactNative,Flutter,Weex它们之间任意的组合就构成了混合开发。 其中原生+H5是出现最早的,老牌混合方案,即使过来多年,在现在的混合开发方案中H5也是使用率非常高的。在APP中嵌入Web容器,将更新迭代快,用户交互少的页面采用H5开发,将交互性强,稳定的部分使用原生开发是
Java 期中考试及pta4、5总结
菜单计价1~3 (1)前言: 期中考试的题目比较简单但是具有典型意义,ptA的题和之前的大差不差,所以会省略一些 总体来说这几次作业还是对Java的学习有较大的帮助的,需要认真对待 (2)设计与分析: 一测验1-圆类设计 下面是题目要求: 7-1 测验1-圆类设计 分数 12 作者 段喜龙 单位 南昌航空大学
centos7安装java
1.tar -zxvf jdk-8u11-linux-x64.tar.gz 2.编辑环境变量 vim /etc/profile 3.source /etc/profile 4.java -version
NIO效率高的原理之零拷贝与直接内存映射
零拷贝 零拷贝是指避免在用户态(User-space) 与内核态(Kernel-space) 之间来回拷贝数据的技术。 传统IO 传统IO读取数据并通过网络发送的流程,如下图 传统IO read()调用导致上下文从用户态切换到内核态。内核通过sys_read()(或等价的方法)从文件读取数据。DMA引擎执行第一次
6月30日java学习日记
今天学习了java的线程等待和唤醒机制,学习了Object.wait()(无限等待)需要使用Object.notify()来唤醒,也可以使用定时等待Object.wait(int mill)自动停止等待。
第四、五次题目集以及期中考试总结
第四、五次题目集以及期中考试总结 一 、题目集四 第一题 题目内容:菜单计价程序-4 ** 总结:根据题目要求,我们需要设计一个用于计算并输出菜品总价格的订餐和定价程序。此程序包括以下类:菜肴类(Dish)、菜单类(Menu)、订购记录类(Record)和订单类(Order) 等四个类。下面是对这些类和整个程序的详细解释。 Dish类: Dish(菜肴)类表示一种菜肴,由名称(name)和单价(
开源通用高性能的分布式id序列组件
原文地址:https://ntopic.cn/p/2023062101/ Gitee源代码仓库:https://gitee.com/obullxl/sequence-jdbc GitHub源代码仓库:https://github.com/obullxl/sequence-jdbc 分布式id序列说明 业务数据的存储,少不了数据记录的id序列。 id序列(或称序列)的生成方式有很多种,比如当前
[刷题记录]Leetcode列表专题
No.1 题目 Leetcode link 思路 数组本身是非降序,即最小值和最大值在数组的两端 非降序数组每个元素平方后,最大值在两端,最小值在中部 双指针比较数组两端最大值的大小,提取出最大的。移动双指针,然后得到次大,次次大,逐步得到结果 注意left==right是有意义的,即待处理数组只有一个元素,就是最中间(也是最小)的元素 代码 No.2 题目 长度最小的子数组 思路 双指针
String解析及其方法
String解析及其方法 1.前言 2.什么是字符串(String) 3.字符串(String)的两种创建方式及其区别 4.字符串(String)的方法及其部分原码解析 5.字符串(String)的弊端 1.前言 String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。 字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 S
递归算法理解 (一)
Introduction 递归算法是一种直接或者间接调用自身函数或者方法的算法。递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。递归算法对解决一大类问题很有效,它可以使算法简洁和易于理解。递归算法,其实说白了,就是程序的自身调用。它表现在一段程序中往往会遇到调用自身的那样一种coding策略,这样我们就可以利用大道至简的思想,把一个大的复杂的问题层层转换为
面向对象编程与面向过程编程的区别
一、面向对象编程(OOP,Object Oriented Programming): 不必关心对象的具体实现,只需要能够满足用户的需求即可。主要以类或者对象为组织代码的基本单元。 对象的三个主要的特性: 1、对象的行为:可以对对象施加哪些操作,或者是对对象施加哪些方法。 2、对象的状态:施加方法时,对象如何回应。 3、对象的标识:如何判断具有向共同行为与状态
Jenkins 系列1 --- 安装与配置
一、概要 1. 环境 (1) Rocky Linux 9.1 2. 硬件要求 (1) 底线要求 内存:256 MB 硬盘:1 GB (2) 推荐要求 内存:4 GB 硬盘:50 GB 二、安装 1. 依赖 (1) OpenJDK (2) 仓库 2. 安装 3. 安装后 (1) 服务 (2) 防火墙 如果需要立即通过端口号访问Jenkins,则可以通过以下配置实现: 4
一篇带你了解JVM内存模型和垃圾回收机制
JVM内存模型 根据Java虚拟机规范,Java数据区域分为五大数据区域。 JVM的结构 其中方法区和堆是所有线程共享的,虚拟机栈、本地方法栈和程序计数器则为线程私有的。 有的博客称方法区是永久代,那是因为前者是JVM的规范,而后者则是JVM规范的一种实现,并且只有HotSpot才有永久代, JDK8中已经彻底移除了方法区,JDK8中引入了一个新的内存区域叫metaspace(元空
PTA题目集4、5以及期中考试
前言 在这篇Blog中,我将总结之前所涉及到的PTA题目集4、5以及期中考试的情况。这些题目涉及了不同的知识点和题量,并具有一定的难度。本次Blog的重点将分析PTA中的菜单计价系列的题目以及期中考试的题目。 设计与分析 菜单计价系列题目分析 菜单计价系列的题目要求设计一个点菜计价程序,根据输入的信息计算并输出总价格。输入包括菜单和订单两部分,以"end"作为结束标识。菜单由一条或多条菜品记录组成
Java中的内部类,代码块
前言 学习Java过程中,对内部类和代码块部分知识比较模糊,容易忘掉。今天再学的时候有一些其他的收获,整理记录一下。 1. 代码块 代码块的作用可以为初始化变量。都在在构造器方法之前执行,分为静态代码块和匿名代码块。静态代码块是在类加载时执行,因此只执行一次。匿名代码块在new实例化时执行,每个new新实例都会执行。 实验结果 可知 执行顺序: 静态代码块-> 匿名代码块->
pta题目集4-5及期中考试
1.前言:点菜程序,光是听到名字就让人颤栗,我也光荣的基本上没写出来,以下的代码是题目集结束之后写出来的 pta题目集4: 7-1 菜单计价程序-4 分数 100 全屏浏览题目 切换布局 作者 蔡轲 单位 南昌航空大学 本体大部分内容与菜单计价程序-3相同,增加的部分用加粗文字进行了标注。 设
关于href、src、rel和url~
关于href、src、rel和url~ 辨析 href(hypertext reference 超文本引用):指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接。 属性值:片段标识符、javascript代码段、相对或绝对路径。 # #id属性值 javascript:; 相对路径 网址 浏览器会识别该文档为css文件,会并行下
PTA第四第五次总结
(1)前言: PTA四五两次作业均为菜单点菜系统,也都是在PTA3作业上进行功能的增加以及迭代,除了第一次的作业,其他几次的难度都明显上升,第四次与第五次明显难度陡增,类与类之间的联系十分复杂,代码的耦合度也骤然上升,对我来说难度还是很大的。 (2)设计与分析: 第四次题目集因为备考以及各种作业等原因未完成完整代码,但本文仍会对PTA4题目集进行分析。 第五次PTA练习: 7-1 菜单计价程序-5
Java的MVC设计模式,带你深刻理解MVC
什么是MVC?就是Model View Control,模型视图控制器。 MVC流程图解 1.MVC概念: MVC本来是存在于Desktop程序中的,M(Model)是指数据模型,V(View)是指用户界面,C(Control)是控制器。使用MVC的最直接目的就是将M和V实现代码分离,C则是确保M和V的同步,一旦M改变,V应该同步更新。 2.MVC工作方式: MVC是一个设计模式,它强制性的使应
【剑指Offer】43、左旋转字符串
【剑指Offer】43、左旋转字符串 题目描述: 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! 解题思路: 对于本题,从最直观的角度我们首先可以想到暴力解
Spring AOP使用记录
通知 @Before:前置通知 @After:后置通知,无论是否发生异常都会执行 @AfterReturning:后置通知,正常返回时执行 @AfterThrowing:后置通知,异常返回时执行 @Aroud:环绕通知 各种通知使用例子 切点表达式 @annotation 方法存在指定的注解,将会被拦截 使用例子: 创建一个自定义注解 创建一个切面 技巧 获取拦截方法 拿到拦截方法之后
「Netty入门」一分钟了解Netty
前言 此篇是真正进入Netty学习的第一篇,学好Netty之前,要先了解系统中断、IO多路复用、NIO这些必不可少的基础知识,否则学起Netty就比较吃力,所以如果小伙伴还没有看我前面几篇基础知识的可以先学习完再回过头看这篇文章。 [硬核Netty系列]什么是操作系统中断?[硬核Netty系列]IO多路复用底层原理详解,Java面试大厂必问Java NIO 想彻底了解?最走心的NIO讲解带给你 概