俊墨客
码龄10年
  • 387,816
    被访问
  • 37
    原创
  • 1,187,535
    排名
  • 56
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2012-01-25
博客简介:

俊墨客

博客描述:
知道, 做到, 方能得到!
查看详细资料
  • 4
    领奖
    总分 603 当月 20
个人成就
  • 获得179次点赞
  • 内容获得30次评论
  • 获得622次收藏
创作历程
  • 1篇
    2022年
  • 36篇
    2021年
  • 19篇
    2020年
  • 61篇
    2019年
  • 32篇
    2018年
  • 1篇
    2016年
成就勋章
TA的专栏
  • Kotlin
    6篇
  • Flutter
    2篇
  • Dart
    1篇
  • Spring全家桶
    8篇
  • JavaWeb
    18篇
  • Android
    49篇
  • 前端
    6篇
  • 数据库与SQL
    14篇
  • maven
    2篇
  • Linux
    2篇
  • 系统平台
    2篇
  • Eclipse
    1篇
  • IntelliJ IDEA
    8篇
  • AndroidStudio
    6篇
  • 源码分析
    2篇
  • Java
    32篇
  • C/C++
    1篇
  • 设计模式
    2篇
  • 编程思想
    7篇
  • 数据结构与算法
    1篇
  • 计算机理论与基础
    3篇
兴趣领域 设置
  • 数据结构与算法
    数据结构
  • 移动开发
    kotlinflutterandroid studio
  • Android
    gradleandroid jetpackrxjava
  • 软件工程
    性能优化
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

常用正则表达式公式总结

一、校验数字的表达式1、数字:^[0-9]\*$2、n位的数字:^\d{n}$3、至少n位的数字:^\d{n,}$4、m-n位的数字:^\d{m,n}$5、零和非零开头的数字:^(0|[1-9][0-9]\*)$6、非零开头的最多带两位小数的数字:^([1-9][0-9]\*)+(\.[0-9]{1,2})?$7、带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$8、正数、负数、和小数:^(\-|\+)?\d+
原创
发布博客 2022.03.16 ·
41 阅读 ·
0 点赞 ·
0 评论

字段和属性的区别

如上图所示: 属性 c 由 getter/setter 和字段 c 组成属性 a 由 getter/setter 组成b 没有 getter 和 setter,所以是字段   Java中的属性(property),通常可以理解为get和set方法,而字段(field),通常叫做“类成员”,或 “类成员变量”,有时也叫“域”,理解为“数据成员”,用来承载数据的。   区别开属性与字段是为了更好的实现数据安全,比如当我们想给一个类的属性赋值或者其他类用到了,就需要将这个字段设置为public,..
转载
发布博客 2021.12.28 ·
94 阅读 ·
1 点赞 ·
0 评论

Java设计模式六大原则或者说七大原则

设计模式原则概念介绍
转载
发布博客 2021.12.03 ·
57 阅读 ·
0 点赞 ·
0 评论

Android原生项目引入Flutter

前言目前Flutter可以说是非常火热了,多次更新过后也越来越稳定,受到了很多开发者的青睐。不过纯Flutter开发还是存在一定成本和风险的,尤其是对于规模稍大一些的项目,可能更加适合的是将Flutter用于项目中的某一个模块,因此我们有必要了解一下如何在原生项目中引入Flutter。本文介绍一下Android原生项目引入Flutter的方法以及Flutter如何与原生进行交互,包括页面间的跳转和方法的调用,本人不懂IOS开发,有需要的话还是自行百度吧o(╥﹏╥)o,但是基本思路我觉得不会差太多的..
转载
发布博客 2021.11.30 ·
552 阅读 ·
2 点赞 ·
0 评论

Linux 常用命令

虽然平时大部分工作都是和Java相关的开发, 但是每天都会接触Linux系统, 尤其是使用了Mac之后, 每天都是工作在黑色背景的命令行环境中. 自己记忆力不好, 很多有用的Linux命令不能很好的记忆, 现在逐渐总结一下, 以便后续查看. 基本操作 Linux关机,重启 # 关机shutdown -h now # 重启shutdown -r now查看系统,CPU信息 # 查看系统内核信息uname -a # 查看系统内核版本cat /proc/version # ...
转载
发布博客 2021.11.28 ·
310 阅读 ·
0 点赞 ·
0 评论

FinalShell,一款免费的国产的SSH、服务器管理、远程桌面加速工具

引言 FinalShell是一款免费的国产的集SSH工具、服务器管理、远程桌面加速的良心软件,同时支持Windows,macOS,Linux,它不单单是一个SSH工具,完整的说法应该叫一体化的服务器,网络管理软件,在很大程度上可以免费替代XShell,是国产中不多见的良心产品,具有免费海外服务器远程桌面加速,ssh加速,双边tcp加速,内网穿透等特色功能。 先预览一张使用时的截图。 使用截图预览 功能简介 连接linux服务器 我们第一步打开软件,然后点击如图红色线框所示处 .
转载
发布博客 2021.11.28 ·
230 阅读 ·
0 点赞 ·
0 评论

Kotlin之Set和Get

先看下kotlin里的set和get的语法//注意 缩进格式var <propertyName>[: <PropertyType>] [= <property_initializer>] [<getter>] [<setter>]格式就如上所示, set和get可写也可不写, 不写的话会有默认的实现, 需要注意的是val修饰的变量是没有set方法的, 也不允许重写set方法, 例如下面这种写法, 会提示不允许有se
转载
发布博客 2021.10.26 ·
192 阅读 ·
1 点赞 ·
0 评论

Dart空安全介绍

Null Safety in Dart --- Introduction (Dart空安全介绍)历史2020年11月空安全进入Beta测试阶段, 自2.12及Flutter2.0之后开始全面支持Sound null safety。介绍一般来说,变量储存了某些值。例如整数可以是0, 42, -2;一个String可以是 hello world,或者其他什么的内容。// In null-safe Dart, none of these can ever be null.var i = 42; //
转载
发布博客 2021.10.26 ·
103 阅读 ·
0 点赞 ·
0 评论

协程、ViewModel、LiveData 三剑合璧!

前言 ViewModel和LiveData最早是Google提出的AAC架构中的重要成员,那么它为什么又和协程扯上关系了呢? 其实不能叫扯上关系吧,ViewModel和LiveData属于「架构组件」,而协程是「异步工具类」,ViewModel和LiveData搭上了协程这条快车道,让Google推了几年的AAC架构更加快的让人接受了,真香。 国际惯例,官网镇楼。 https://developer.android.com/topic/libraries/architecture/viewmode.
转载
发布博客 2021.10.13 ·
69 阅读 ·
0 点赞 ·
0 评论

ToolBar使用总结

目录一、toolbarstyle配置toolbar布局二、NavigationIconNavigationIcon常用方法具体使用三、title四、Menumenu的创建menu点击事件menu不同状态时操作menu菜单图标+标题同时显示fragment使用menu菜单五、style的配置style的基本配置app:theme & app:popupTheme修改toolbar的字体修改menu的字体颜色修改menu显示位置 一、
转载
发布博客 2021.09.30 ·
472 阅读 ·
0 点赞 ·
0 评论

从原理分析Kotlin的延迟初始化: lateinit var和by lazy

Koltin中属性在声明的同时也要求要被初始化,否则会报错。例如以下代码:private var name0: String //报错private var name1: String = "xiaoming" //不报错private var name2: String? = null //不报错   可是有的时候,我并不想声明一个类型可空的对象,而且我也没办法在对象一声明的时候就为它初始化,那么这时就需要用到Kotlin提供的延迟初始化。    Kotlin中有两种延迟初始化的方式。一种
转载
发布博客 2021.09.08 ·
170 阅读 ·
0 点赞 ·
0 评论

SpringBoot+SpringSecurity前后端分离+Jwt的权限认证(改造记录)

前言 一般来说,我们用SpringSecurity默认的话是前后端整在一起的,比如thymeleaf或者Freemarker,SpringSecurity还自带login登录页,还让你配置登出页,错误页。 但是现在前后端分离才是正道,前后端分离的话,那就需要将返回的页面换成Json格式交给前端处理了 SpringSecurity默认的是采用Session来判断请求的用户是否登录的,但是不方便分布式的扩展,虽然SpringSecurity也支持采用SpringSession来管理分布式下的用户状态,不过现
转载
发布博客 2021.09.07 ·
79 阅读 ·
0 点赞 ·
0 评论

Android-Jetpack笔记-Navigation之Fragment支持复用

上篇文章Android-Jetpack笔记-Navigation之Fragment使用提到,每次切换目的地,fragment是反复销毁重建的,按照谷歌推荐的1个APP只需1个activity的思路开发,这样是没问题的,但是这里的fragment是作为首页的3个常驻页面,我们是希望能够保存起来的,毕竟,销毁重建需要重新请求网络数据,重新初始化view,严重影响用户体验,那么接下来继续上篇文章的分析,支持Fragment的复用。 Jetpack笔记代码 本文源码基于SDK 29,IDE是Android st
转载
发布博客 2021.08.31 ·
288 阅读 ·
0 点赞 ·
0 评论

(转)Android Jetpack Compose 最全上手指南

在今年的Google/IO大会上,亮相了一个全新的 Android 原生 UI 开发框架-Jetpack Compose, 与苹果的SwiftIUI一样,Jetpack Compose是一个声明式的UI框架,随着了今年安卓和苹果两大移动平台相继推出自己的UI开发框架Jetpack Compose 和SwiftIUI,标志着移动操作系统正式全面拥抱声明式 UI 开发模式。一、声明式 UI 的前世今生其实声明式 UI 并不是什么新技术,早在 2006 年,微软就已经发布了其新一代界面开发框架 WPF,其采用
转载
发布博客 2021.08.28 ·
312 阅读 ·
0 点赞 ·
0 评论

SpringBoot实现动态增删启停定时任务

在spring boot项目中,可以通过@EnableScheduling注解和@Scheduled注解实现定时任务,也可以通过SchedulingConfigurer接口来实现定时任务。但是这两种方式不能动态添加、删除、启动、停止任务。要实现动态增删启停定时任务功能,比较广泛的做法是集成Quartz框架。但是本人的开发原则是:在满足项目需求的情况下,尽量少的依赖其它框架,避免项目过于臃肿和复杂。查看spring-context这个jar包中org.springframework.scheduling.
转载
发布博客 2021.08.26 ·
65 阅读 ·
1 点赞 ·
0 评论

Data Binding 详解(七)-在 Kotlin 中的使用

知是行之始,行是知之成。文章配套的 Demo:https://github.com/muyi-yang/DataBindingDemoDemo 支持 Java 和 Kotlin 双语言,master 分支为 Java 语言代码,kotlin 分支为 Kotlin 语言代码。在 Google 官方宣布 Android 支持 Kotlin 语言后,Kotlin 瞬间席卷了整个 Android 圈,各种文章书籍,学习小组应时而生。时至今日已有很大一部分先行者已经使用 Kotlin 开发自家的商业项目,在.
转载
发布博客 2021.08.23 ·
163 阅读 ·
0 点赞 ·
0 评论

Data Binding 详解(六)-双向数据绑定

知是行之始,行是知之成。文章配套的 Demo:https://github.com/muyi-yang/DataBindingDemoDemo 支持 Java 和 Kotlin 双语言,master 分支为 Java 语言代码,kotlin 分支为 Kotlin 语言代码。前面讲到的各种数据绑定都是单向绑定,都是由数据驱动 UI 变化,当 UI 发生变化时并不会引起数据的改变。当 UI 的变化需要反应到数据中时,我们一般采取向 View 设置相应的监听器,然后在监听器中修改相应的数据。这种即由数据.
转载
发布博客 2021.08.23 ·
250 阅读 ·
0 点赞 ·
0 评论

Data Binding 详解(三)-可观察(监听)的数据对象

知是行之始,行是知之成。文章配套的 Demo:https://github.com/muyi-yang/DataBindingDemoDemo 支持 Java 和 Kotlin 双语言,master 分支为 Java 语言代码,kotlin 分支为 Kotlin 语言代码。可观察(observable)是指一个对象通知其他对象其数据的更改的能力。 Data Binding 库支持创建可观察的对象、字段或集合。普通的对象都可以用于 Data Binding,但是对象数据改变并不会自动更新 UI 。使.
转载
发布博客 2021.08.23 ·
129 阅读 ·
1 点赞 ·
0 评论

Data Binding 详解(二)-布局和绑定表达式

知是行之始,行是知之成。文章配套的 Demo:https://github.com/muyi-yang/DataBindingDemoDemo 支持 Java 和 Kotlin 双语言,master 分支为 Java 语言代码,kotlin 分支为 Kotlin 语言代码。本章将讲解在 Data Binding 中的布局及布局中如何使用表达式。支持的表达式在布局中支持很多表达式和关键字:Mathematical + - / * %String concatenation +Logical.
转载
发布博客 2021.08.23 ·
247 阅读 ·
2 点赞 ·
0 评论

Data Binding 详解(一)-从零开始

知是行之始,行是知之成。文章配套的 Demo:https://github.com/muyi-yang/DataBindingDemoDemo 支持 Java 和 Kotlin 双语言,master 分支为 Java 语言代码,kotlin 分支为 Kotlin 语言代码。DataBinding介绍2015 年的 Google IO 大会上,Android 团队发布了一个数据绑定框架(Data Binding Library),它是为了解决数据和 UI 的绑定问题,同时也是对 MVVM 模型的一.
转载
发布博客 2021.08.23 ·
203 阅读 ·
0 点赞 ·
0 评论
加载更多