- 博客(19)
- 收藏
- 关注
原创 面试题(私人)
面试介绍自我介绍:面试官,上午好,我叫王国富,目前就读于南京航空航天大学机电学院,研究生期间主要从事于Java与C#相关系统开发。目前掌握C#的技术栈:基于MVC方式的Winform或者WPF的Windows界面系统开发以及基于Unity3d虚拟引擎的三维仿真系统开发,目前掌握的Java技术栈:基于Vue+ElementUI简单界面的前端开发,基于SpringBoot+SpringCloud Alibaba的微服务后端开发,还有MySQL和Redis相关数据库和缓存的使用。本人具有较好的抗压能力和自学能
2021-07-07 21:12:27 145
原创 工厂模式有哪些?对于自己的理解总结
简单工厂模式:实现了生成产品类的代码和客户端代码分离,在工厂类中添加所需要的逻辑代码interface Product{}ProductA implements Product{}ProductB implements Product{}SimpleFactory{ static Product create(String str){ if(str.equals("productA")){ return new ProductA(); ..
2021-07-07 20:53:09 129
原创 SpringBoot+Redis+MySQL+MybatisPlus整合的技术文章(涵盖缓存以及基本配置和使用)
配置类MP配置类@Configurationpublic class MPConfig { //分页查询一定要注册配置类注册分页插件 @Bean public PaginationInterceptor paginationInterceptor(){ return new PaginationInterceptor(); } //乐观锁 @Bean public OptimisticLockerInterceptor opti
2021-07-07 11:36:08 554
原创 垃圾回收
7. 垃圾回收7.1 垃圾回收概述垃圾:在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。两个概念:内存溢出和内存泄漏内存溢出:out of memory指程序申请内存时,没有足够的内存供申请者使用。内存泄漏:memory leak程序在申请内存后,无法释放已申请的内存空间。一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。C#、Java、Pyhon和Ruby等语言都是使用自动垃圾回收的思想。7.2 垃圾回收算法判断对象是否存活的两种方式:引用计数法和可
2021-03-15 22:13:06 224
原创 字符串常量池
6. String Table6.1 String的基本特性String声明为final,不可被继承实现了Serializable接口:支持字符串序列化实现了Comparable接口:可以比较大小jdk8之前定义final char[] value储存字符串数据,jdk9之后用byte[]String的不可变性。字符串常量池是不会存储相同内容的字符串。-XX:StringTableSize设置StringTable的长度。(JDK8最小值为1009)String的String Pool
2021-03-08 22:04:46 283
原创 执行引擎
5. 执行引擎5.1 执行引擎概述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P52XnAhJ-1615101497506)(https://i.loli.net/2021/03/06/lNm6r57SHsMORt1.png)]JVM的执行引擎的任务是将字节码指令/编译为对应平台上的本地机器指令才可以。就是将高级语言翻译为机器语言的译者。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qtFwr9OE-1615101497508)(ht
2021-03-07 15:18:28 115 1
原创 对象实例化内存布局与访问定位
3. 对象的实例化内存布局与访问定位3.1 对象实例化的几种方式newClass的newInstance():反射方式,只能调用空参的构造器,权限必须是publicConstructor的newInstance(Xxxx):反射方式,可以调用空参、带参的构造器,没有权限要求使用clone():不调用任意构造器使用反序列化第三方库Objenesis3.2 创建对象的六个步骤[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hqGSuGWj-1614945651
2021-03-05 20:01:20 85
原创 运行时数据区
2. 运行时数据区概述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DwQA3Wvg-1614664670755)(JVM.assets/image-20210302084025635.png)]2.1 程序计数器JVM的PC寄存器是对物理PC寄存器的一种抽象模拟。PC寄存器用来储存指向下一条指令的地址。由执行引擎读取下一条指令。是很小的内存空间,也是运行速度最快的存储区域。面试问题1:使用PC寄存器存储字节码指令地址有什么作用?CPU需要不停的切换不同的线程
2021-03-02 13:58:13 112
原创 类加载子系统
1. 类加载子系统1.1 类加载类加载子系统负责从文件系统或者网络中加载class文件(class文件有着特定的文件标识,CAFE BABE 魔数),类加载器只负责class文件的记载,不负责它是否运行。类加载的信息存放在方法区(方法区也存放常量和静态变量)。clas文件加载到JVM被称为DNA原模板,存放在方法区。加载阶段通过类的全限定名获取定义此类的二进制字节流将这个字节流所代表的的静态存储结构转化为方法区运行时数据结构在内存中生成一个代表这个类的java.lang.Class对象
2021-03-01 11:04:57 71
原创 lambda表达式java详解
Lambda表达式可以取代大部分匿名内部类(在集合遍历或者其他操作的时候更加的优化代码结构)Lambda规定接口中只能有一个需要被实现的方法,而不是规定接口中只能有一个方法。(default:被default修饰的方法会有默认实现,所以不影响Lambda表达式使用)@FunctionalInterface:修饰函数式接口,要求接口中抽象方法只有一个。/**多参数无返回*/@FunctionalInterfacepublic interface NoReturnMultiParam { vo
2021-02-28 15:38:38 762
原创 swagger2的详细笔记
一、Swagger简介Swagger2 是一个规范和完整的框架,用于生成、描述、调用和可视化Restful风格的web服务。接口文档对于前后端开发人员都非常重要。Swagger可以使得接口文档动态生成OpenApi:是REST API的api描述格式每个访问地址类型。POST(写)或者GET(读)每个操作的参数,包括输入输出参数认证方法连接信息,声明,使用团队和其他信息。Open API规范可以使用YAML或JSON格式进行编写。Open API规范为REST API定义了一个与语言无
2021-01-20 21:58:43 224
原创 罗马数字转整数
13.罗马数字转为整数 罗马数字有I-1、V-5、X-10、L-50、C-100、D-500、M-1000主要思路是采用哈希表来存储这些规则,然后遍历public int romanToInt(String s) { int n = s.length(); if(n == 0) return 0; char[] arr = s.toCharArray(); Map<Character,Integer> map = ne
2020-05-20 23:03:23 101
原创 LeetCode第九题 判断一整数是否为回文数
9.判断一整数是否为回文数 解决思路:判断该整数一半的反转过来是否与剩余部分一样即可 public static boolean isPalindromicNumber(int number) { if(number<0 || (number%10==0 && number!=0)) { return false; } int revertedNumber=0;
2020-05-19 21:09:05 142
原创 因为总是有着记完知识点之后总是忘记了,所以在网上看了抗遗忘曲线,因此突发奇想,直接写了抗遗忘曲线的程序
抗遗忘曲线引用程序开发<Window x:Class="抗遗忘曲线.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
2020-05-17 20:58:37 167
原创 java贪吃蛇小游戏开发
package cn;import javax.swing.*;public class Snake { public static void main(String[] args) { JFrame frame=new JFrame(); frame.setBounds(400,200,900,700); frame.setResizable(false); frame.setDefaultCloseOperation(JFr
2020-05-16 09:53:33 332
原创 stm32f1系列(三) 定时器部分
今天学习了***独立看门狗(IWDG)***、***窗口看门狗(WWDG)***和***定时器部分***。首先先谈谈看门狗这个知识点,是用于监测程序运行状态的芯片或者模块,在stm32里面分为独立看门狗和窗口看门狗,对其中的区别是:独立看门狗是无论在什么时候都可以进行“喂狗”,然后利用重装载寄存器(RLR)进行重新装载初值,从而防止系统复位,当然在其中还有些要注意的就是IWDG_RLR以及IWD...
2018-10-13 21:43:02 2025
原创 stm32f1系列(三) 外部中断
今天学了外部中断以及串口通讯,今天主要说的是外部中断这一块的东西。首先照例贴一段代码是配置外部中断的代码:#include<stm32f10x.h>#include<key.h>#include<exti.h>#include<sys.h>#include<delay.h>#include<led.h>void...
2018-10-09 20:30:55 1016
原创 stm32f1系列(二)串口通讯
今天学习了不少东西,主要就是一些stm32f1系列的时钟,优先级还有就是串口通讯,现在主要贴的代码是一个很简单的串口通讯的代码,但是却蕴含着今天一整天学习的东西。#include<stm32f10x.h>void MY_USART1_Init(void){GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USAR...
2018-10-08 21:45:40 731
原创 stm32F1系列的单片机学习笔记(一)
stm32F1系列的单片机学习笔记今天主要完成了通过按键控制led灯和蜂鸣器,以下是我的感受和感想。不管是对于led的驱动、蜂鸣器还是对按键的驱动首先要了解的是对IO端口的使能处理,然后是对IO口的输入输出模式,速度以及某一端口,主要是调用GPIO_Init()这个函数,后面就是针对某一单一东西进行编程,例如对于按键扫描处理,对于按键扫描有着固定的函数,主要就是返回值不一样,返回值也是最重要的...
2018-10-07 16:36:02 3143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人