- 博客(102)
- 收藏
- 关注
原创 【JavaEE】SpringBoot框架——实现单表增删改查
目录单表CRUD操作配置数据库驱动连接实现单表增删改查构建工程结构增加数据删除数据修改数据查询数据测试接口测试增加数据接口测试删除数据接口测试修改数据接口测试查询数据接口不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!单表CRUD操作以书籍表为例子,进行书籍的增删改查。数据库如下所示。配置数据库驱动连接在pom.xml文件的<dependencies>标签中加入如下依赖。<dependency> <gro
2022-05-29 21:12:32
3541
2
原创 【JavaEE】搭建后台SpringBoot环境
目录SpringBoot环境搭建不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!SpringBoot环境搭建点击File创建一个新的工程。利用阿里云的代理可以更快的创建项目。自定义包名并选择java版本。选择一些必要的配置。自定义文件的存储位置。点击运行,出现如下界面则表示环境搭建成功。...
2022-05-29 15:05:45
345
原创 【Demo】SQLite数据库
目录ProductMainActivityMySQLiteOpenHelperactivity_main.xmlitem_list.xmlupdate_dialog.xml不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!Productpackage com.hnucm.androiddatabase.model;public class Product { public int id; public String name; public
2022-05-08 22:34:59
1284
原创 【Python】Python系列下载安装教程
目录Python系列下载安装教程Python安装教程PyCharm安装教程Python系列下载安装教程Python安装教程我下载的是3.8.6版本的,以此为例。从官网下载Python安装包:Python官网传送门点击安装包进行安装。根据截图一步步来即可。在cmd模式下,输入python进行测试,pip进行测试,出现下列图像即下载成功。PyCharm安装教程从官网下载软件安装包:PyCharm编译器官网传送门点击安装包进行安装。根据截图
2022-03-31 22:06:43
927
原创 【解决方案】Android Scrollview嵌套recyclerview,列表总是被置顶问题
目录Android Scrollview嵌套recyclerview,列表总是被置顶问题原因解决方法允许ScrollView获取焦点禁止RecyclerView获得焦点不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!Android Scrollview嵌套recyclerview,列表总是被置顶问题原因为什么会产生这个现象呢?ScrollView失去了焦点。RecyclerView得到了焦点。解决方法总共有两种解决方法:允许ScrollView得
2022-03-26 14:52:40
2200
原创 【Git】Git系列下载安装教程
目录Git系列下载安装教程Git下载安装TortoiseGit下载安装不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!Git系列下载安装教程由于git莫名损坏了,所以重装git并记录下载过程,便于日后查阅。Git下载安装从官网下载git。git官网双击下载好的exe文件。自定义下载位置。选择组件。默认下一步。默认下一步。选择使用命令行环境。默认下一步。默认下一步。默认下一步。
2022-03-25 22:41:34
640
原创 【OpenGL ES】三维图形绘制
OpenGL ES 3.0 学习——3D颜色的简单搭配:不红+不绿+不蓝 = 黑红+绿+蓝 = 白红+绿 = 黄红+蓝 = 紫绿+蓝 = 青蓝投影矩阵投影主要分为正交投影和透视投影两种。正交投影没有近大远小的效果,是平行投影,投影显示的大小就是物体的大小。Matrix.orthoM方法这是在Java中设置正交投影的函数。Matrix.orthoM(mProjectMatrix, 0, left, right, bottom, top, near, far);glm::
2022-03-21 21:14:18
6550
原创 【OpenGL ES】构建可移植、易扩展的代码书写结构
【OpenGL ES】构建可移植、易扩展的代码书写结构MainActivitypackage com.example.openglndk;import androidx.annotation.Nullable;import androidx.appcompat.app.AppCompatActivity;import android.opengl.GLSurfaceView;import android.os.Bundle;//JNI类public class MainActivit
2022-03-14 22:31:48
5232
原创 【OpenGL ES】缓存——缓冲区对象【I】
【OpenGL ES】缓存——缓冲区对象VBO(Vertex Buffer Object)顶点缓冲区对象。作用在GPU显存中创建一块BUFFER。存储顶点以及其属性相关的信息,比如坐标,颜色等。直接将顶点信息上传到GPU的显存中,避免频繁赋值给GPU,提升性能。使用生成一个VBO对象。GLuint VBO;glGenBuffers(1, &VBO);设置缓冲区缓存对象的类型,又可以理解为激活缓冲区。glBindBuffer(GL_ARRAY_BU
2022-03-14 22:28:27
570
原创 【Android Studio】在AS中调用Main()方法报错
目录在Android Studio中调用Main()方法出现错误问题解决方法在Android Studio中调用Main()方法出现错误问题在Android Studio中调用一个类的Main()方法发生错误。解决方法切换到Project模式显示。找到.idea文件夹下面的gradle.xml文件在<GradleProjectSettings>节点下加入下列语句。<option name="delegatedBuild" value="false"
2022-03-07 23:31:18
1171
原创 【Android】录屏功能实现——MediaProjection
Android录屏功能实现—MediaProjection不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!参考博客:Android实现录屏MediaProjection以及相关异常解决参考GitHub:github中最容易理解的Android录屏的版本概述Android录屏功能实现有很多种方式,这里记录最常见的一种,用Android自带的apk来实现,即使用MediaProjection来实现。工具类实现Android的录屏功能,需要用到一些工具类:MediaP
2022-03-07 23:06:52
19783
6
原创 【OpenGL ES】二维图形绘制
目录OpenGL ES 3.0 学习——2D着色器语言基础知识绘制纯色背景JAVA版本C++版本绘制圆点、直线、三角形JAVA版本C++版本绘制彩色三角形JAVA版本C++版本绘制纯色正方形JAVA版本C++版本绘制纯色圆形JAVA版本C++版本波纹扩散demo总结绘制整体流程不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!OpenGL ES 3.0 学习——2D颜色的简单搭配:不红+不绿+不蓝 = 黑红+绿+蓝 = 白红+绿 = 黄红+蓝 = 紫绿+蓝 =
2022-03-07 23:02:50
3974
原创 【NDK】Android NDK下载安装教程
目录Android NDK下载安装教程不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!Android NDK下载安装教程打开Android Studio的 SDK Manager。选中SDK Tools,选择要下载的NDK和CMake。选中之后点击OK进行下载。下载完成后,点击finish结束。下载成功后,新建工程,会出现C++版本的工程,点击新建。创建成功后,点击运行。出现这个界面即为成功。...
2022-02-19 14:33:31
3385
原创 【数据结构】哈夫曼编码和哈夫曼树
目录哈夫曼编码和哈夫曼树哈夫曼编码概念目的编码思想哈夫曼树不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!哈夫曼编码和哈夫曼树哈夫曼编码概念又称霍夫曼编码,是一种编码方式,可变字长编码(VLC)的一种。依据字符出现概率来构造异字头的平均长度最短的码字,称之为最佳编码。目的根据使用频率来最大化的节省字符(编码)的存储空间。用于加密解密。编码思想核心思想:按照出现频率进行构造树,令出现频率大的节点靠近根节点。以五个字符(A,B,C,D,E)为例子
2022-01-20 11:10:15
876
原创 RecyclerView——实现短视频布局
目录RecyclerView——实现短视频布局加入依赖加入资源创建item布局创建总体布局创建item实体类创建工具类总体逻辑类实现效果不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!RecyclerView——实现短视频布局加入依赖在build.gradle(Module)中加入依赖implementation 'de.hdodenhof:circleimageview:2.1.0'//圆形图片compile 'com.github.bumptech.gl
2021-12-23 20:38:02
3155
原创 图数据库——Neo4j
目录图数据库——Neo4jNeo4j的下载Neo4j CQL命令不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!图数据库——Neo4jNeo4j的下载先在cmd界面中输入java -version命令判断是否存在Java JDK,不存在则先下载。官网中下载Neo4j压缩包。(https://neo4j.com/download-center/)==注:==我下载的是3.5.30版本,Windows 系统下的。将下载的压缩包解压 ,得到一个文件夹
2021-12-13 16:28:44
1649
原创 Android中的权限请求
目录Android中的权限请求Android中权限分类Android中的动态权限概述分类请求方法官方提供的API步骤代码不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!参考博客:小胡老师的博客Android中的权限请求在Android 6.0以后,Android中添加了动态请求权限。Android中权限分类普通权限一般为那种请求数据和资源的权限,比如网络请求权限。一般不告知用户,用户也不能撤销这类权限。在Manifest中申请。危险权限一般设计
2021-11-10 15:11:18
7472
原创 解析JSON——第三方框架Gson
目录JSON解析第三方框架——Gson使用Gson概念Gson使用Gson将序列化对象转换为JSON格式Gson解析JSON对象Gson解析JSON数组Gson解析List总结不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!参考博客:小胡老师的博客JSON解析第三方框架——Gson使用Gson概念Gson是谷歌官方推出的支持JSON和Java Object相关转换的开源Java库。Gson主要用于JSON数据结构的解析,类似的框架还有FastJson。Gson使
2021-10-31 15:38:49
871
2
原创 自己动手实现JSON解析
目录JSON数据结构概念JSON解析JSON对象解析JSON数组解析JSON对象嵌套解析JSON对象嵌套数组解析JSON对象嵌套数组再嵌套对象解析总结不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!参考博客:小胡老师的博客JSON数据结构概念JSON数据结构是一种与开发语言无关、轻量级的数据存储格式,全称JavaScript Object Notation。是一种数据格式的标准规范。优点:易于人的阅读和编写,易于程序解析与生产,它相比xml格式的数据结构,占用的数
2021-10-30 17:52:13
804
原创 自定义View——游动锦鲤实践
目录自定义View——游动锦鲤实践布局文件使用布局——MainAvtivity主要实现——FishDrawable不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!自定义View——游动锦鲤实践一个对于自定义View的尝试,主要用于尝试熟悉自定义View的实现过程,有些小瑕疵。布局文件<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.Constrain
2021-10-15 16:26:47
653
原创 树的四种遍历方式
目录树的四种遍历方式先序遍历中序遍历后序遍历层序遍历不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!树的四种遍历方式树的遍历方式一般来说有四种:先序遍历中序遍历后序遍历层序遍历只有层序遍历是属于广度优先搜索,剩下三个都是深度优先搜索的。先序遍历以最简单的二叉树进行遍历测试,可能在树的构建上很粗糙,主要表达遍历树的思想。树的结构类package com.hnu;//数据结构树,封装public class TreeNode { //结
2021-09-28 16:59:20
4863
原创 快定网络面试
迷茫,是青春最真实的状态;但奋斗,才是青春的主基调;努力是打败焦虑的绝好方法!在校是吧,具体什么时候要回学校,暑假后你写了两个项目对吧,挑一个说说吧。(就用了一个Recycleview对吧)你了解过Activity的生命周期吗,讲讲一个位于前台的Activity位于哪个生命周期home键生命周期怎么执行你讲一下Activity的启动模式吧singleInstance模式有用过吗,哪些场景的应用(没怎么用过)讲讲view的事件分发机制吧讲讲多线程吧多线程你项目中用到过吗,没有,那..
2021-09-23 14:23:40
73
原创 同程秋招二面
2021.9.17——同程秋招二面经典自我介绍你大概什么时候能到岗呢实习实习有什么项目吗对于那些需求,具体是哪些小需求呢视频播放器是自己写的,还是用android的控件视频有经过处理吗,还是多大就放进去多大图片过大处理过吗,如果有很多的图片呢,需要缓存吗了解过缓存这一类的东西吗(Lru Cache缓存)有时候网络环境差,需要换图片清晰度这种,有知道怎么实现的吗?(面试官人好,给我讲了一手,后台通过返回很多不同清晰度的图片,请求当前网络环境的流量,来控制当前使用哪一个图片。)了解
2021-09-17 15:24:53
214
原创 海康面试
2021.9.17——海康秋招面试JavaSpring IOC和AOP有了解吗深拷贝和浅拷贝hashMap,hashSet和hashTable的区别如何实现线程同步先讲讲volatile吧Android自定义View的绘制Handler机制进程和栈的关系Activity的生命周期service的实现方式Activity的启动模式handler你主要用来做什么,哪里用过handler内部实现看过吗设计模式你用过什么设计模式单例设计模式,如何实现线程安全的了解职责
2021-09-17 11:21:16
198
原创 同程初面
2021.9.13——同程秋招Java泛型了解吗注解了解吗,自己写过注解吗安卓View的绘制流程measure的宽高32位,前两位标志位,100dp,100dp,是什么标志四大组件,作用有用到过Service吗,实习或者项目中网络请求框架,五大拦截器为什么要看源码?计网http1.0和http2.0的区别设计模式单例模式工厂模式代理模式装饰模式Kotlin,跨端技术ReactiveFlutterKotlin数据库sql语句怎么样事务用过吗
2021-09-16 16:25:35
70
原创 百度面试
2021.09.12——百度秋招Java接口和抽象类的区别run和start方法的区别线程的创建方式synchronized的底层实现HashMap和HashTable的区别HashMap是线程安全的吗一个线程完全结束,使用start方法可以重新启动吗计网TCP和UDP的区别三握四挥为什么三次握手,不是两次和四次TCP如何保证可靠交付流量控制,拥塞控制(滑动窗口,停止等待协议)操作系统死锁的四大必要条件一个线程就不能导致死锁了吗(for循环十万次)Androi
2021-09-12 15:23:42
88
原创 View事件分发机制——分析篇
目录View事件分发机制——分析篇概念事件类型事件分发的两种View事件分发的三个方法注意点大致流程事件处理的分析三个问题onTouch返回值有什么用?onTouch和onClick谁先调用?在哪调用?源码分析总结事件分发的分析三种情况ViewPager的onInterceptTouchEvent方法返回trueViewPager的onInterceptTouchEvent方法返回falseViewPager的onInterceptTouchEvent方法返回false,但是它不处理事件冲突解决方案不积跬
2021-09-11 15:12:06
208
原创 多线程——保证线程安全
目录多线程——保证线程安全含义如何保证线程安全具体方法volatile关键字保证可见性禁止重排序synchronized关键字保证原子性防止死锁原因后果检查死锁解决方法不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!多线程——保证线程安全含义线程安全:指在多线程对一个共享资源同时进行操作的时候,所得到的结果每次都是一样的。如何保证线程安全方法:要保证线程安全,就必须保证线程同步。保证线程的可见性,有序性和原子性。线程同步线程同步的含义和字面意义相反。同步
2021-09-09 10:12:22
8373
原创 创建线程的四种方式
目录创建线程的四种方式1. 继承Thread类2. 实现Runnable接口3. 实现Callable接口4. 使用线程池不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!创建线程的四种方式1. 继承Thread类写一个线程类继承Thread类,并重写run方法创建子类对象开启线程package com.hnu;//1.继承Thread类public class Thread1 extends Thread{ @Override public voi
2021-09-06 18:29:06
88
原创 Android消息机制——Handler
目录Handler机制作用对象工作流程源码分析Handler中的方法MessageQueue中的方法过渡Looper中的方法回到Handler中补充Handler中的内存泄露问题出现原因解决方案Handler中的Message对象的获取问题注意点面试问题不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!Handler机制参考博客:Android消息机制学习笔记Android Handler消息机制原理最全解读(持续补充中)Android消息机制全面解析作用主要是
2021-09-05 16:47:42
492
原创 通讯录Demo,持续优化界面
目录通讯录(联系人信息)实现例子:利用PinYin4j框架实现通讯录中信息按照开头首字母分类1.加入依赖2.创建数据类型3.设置布局4.创建工具类5.使用工具类,形成按字母分类效果6.构造数据实现效果截图通讯录(联系人信息)实现例子:利用PinYin4j框架实现通讯录中信息按照开头首字母分类1.加入依赖在build.gradle中加入依赖 implementation 'de.hdodenhof:circleimageview:3.0.0'//圆形图片 implementatio
2021-08-07 20:49:17
109
原创 Glide框架使用错误
目录导入Glide框架使用错误编译错误解决办法使用Glide框架显示不出图片解决办法不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!导入Glide框架使用错误编译错误这类问题往往和xml文件有关与其相关的异常:Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes解决办法在gradle.properties加入混淆,加入以下两句代码:a
2021-08-03 11:46:17
1230
原创 LRU Cache缓存机制
目录LRU Cache缓存机制概念LRU算法概念原理实现数组链表实现使用ArrayList实现一个最简单的LruCache(最容易理解)使用LinkedHashMap实现LruCache(最经典实现)使用队列实现LrcCache不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!LRU Cache缓存机制概念LRU Cache缓存机制即利用LRU算法实现的缓存机制。LRU算法概念是一种缓存淘汰策略。LRU全称Least Recently Used,即最近最久未使用。
2021-07-30 15:19:12
1265
原创 BaseQuickAdapter——简化RecyclerView的使用
目录BaseQuickAdapter——简化RecyclerView的使用例子:用RecyclerView实现招聘信息列表1.引入依赖2.根据item布局建立item数据类3. 建立适配器4.使用适配器总结使用步骤不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!BaseQuickAdapter——简化RecyclerView的使用例子:用RecyclerView实现招聘信息列表1.引入依赖在build.gradle的allprojects中加入镜像//jcen
2021-07-29 17:35:53
1213
原创 Java中的常见线程池
目录Java中的常见线程池类型区别使用不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!Java中的常见线程池类型newCacheThreadPoolnewFixedThreadPoolnewSingleThreadPoolnewScheduleThreadPool区别newCacheThreadPool是一个拥有缓存的线程池,将每一个线程缓存起来(缓存释放时间默认为工作线程空闲一分钟),工作线程数量是无限大。newFixedThreadPo
2021-07-26 21:47:29
233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人