- 博客(90)
- 资源 (34)
- 收藏
- 关注
原创 乐观锁&悲观锁&AQS
本章威哥想分享一下乐观锁&悲观锁&AQS。锁的模式主要分:共享 (S) 用于不更改或不更新数据的操作(只读操作),如 SELECT 语句。更新 (U) 用于可更新的资源中。防止当多个会话在读取、锁定以及随后可能进行的资源更新时发生常见形式的死锁。排它 (X) 用于数据修改操作,例如 INSERT、UPDATE 或 DELETE。确保不会同时同一资源进行多重更新。意向锁 用于建立锁的层次结构。意向锁的类型为:意向共享 (IS)、意向排它 (IX) 以及与意向排它共享 (SI
2021-09-12 10:28:48
1094
原创 IDEA集成leetcode
IDEA集成leetcode后配置:CodeFileName:[$!{question.frontendQuestionId}]${question.title}CodeTemplate:package leetcode.editor.cn;${question.content}public class ${question.title}{ public static void main(String[] args) { Solution solution = n...
2021-09-12 10:26:53
707
原创 JVM内存模型
威哥有2个月没有写博客了,动手写写JVM内存模型,也当做是自己成长的笔记。JVM:Java Virtual Machine,即Java虚拟机,用于运行Java程序编译后的字节码文件。java运行环境的一部分,是一个虚构出来的计算机,它是通过在实际的计算机上仿真模拟各种计算机功能来实现的。即一次编写,到处运行。当我们写java代码时,实际上是写.java文件,之后通过编译器编译威.class文件,然后通过ClassLoader(类加载器)把类信息加载到JVM中。最后JVM再调用操作系统,这样就实行了跨
2020-07-10 09:19:23
329
原创 开启你的第一行Spring Cloud代码
进入途虎后, 威哥基本没怎么写过博客了。今天打算继续开启博客历程。本篇威哥打算分享如何搭建Spring Cloud框架,威哥自己也是在学习的过程中。好了,跟随威哥一起开启你的第一行Spring Cloud代码。1、首先打开你的IDEA。创建一个Maven项目:william-spring-project。按照威哥下面截图来操作。注意,上面Maven的配置请换成自己...
2020-04-13 09:25:03
449
原创 IDEA 选择Spring Initializr 报错:https://start.spring.io
威哥在途虎中午休息时打算搭建下Spring Cloud框架,发现出了些问题:难受,网上找了答案,如下:打开Settings找到HTTP Proxy选中Auto-detect proxy settings勾选Automatic proxy configuration URL 输入 https://start.spring.io 。可是还是不行!!!愤怒!于是威哥不用这个...
2020-04-03 12:39:17
1022
原创 .net C# 字符串过滤Html标签
/// <summary> /// 过滤Html标签 /// </summary> /// <param name="strHtml">待转化的字符串</param> /// <returns>经过转化的字符串</returns> ...
2020-03-23 16:58:16
744
1
原创 ELK之简单理解
ELK是Elasticsearch、Logstash、Kibana的简称(在狭义上:日志分析架构技术栈)。Elasticsearch:是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架。也可理解为实时全文搜索和分析引擎。提供搜集、分析、存储数据三大功能。Logstash:是ELK的中央数据流引擎,用来搜集、分析、过滤日志的工具。用于从不同目标(文件/数据存储...
2020-03-16 19:34:31
473
原创 jdk、jar、jvm 区别(附加Java7条基础知识)
1.java环境如何搭建,jdk和jre有什么区别答题:Java环境如何搭建:1.安装ideaIU;2.安装&配置JDK;3.安装&配置tomcat;4.中间涉及一些环境变量设置,自行百度。Jdk:全称:Java Development Kit,java开发工具包,java语言编写的程序所需的开发工具包,JDK包含了JRE,同时还包括java源码的...
2020-03-06 12:54:06
2095
原创 大数据和高并发的解决方案总结
现在,软件架构变得越来越复杂了,好多技术层出不穷,看得威哥眼花缭乱,解决这个问题呢,就是要把复杂问题简单化,核心就是要把握本质。软件刚开始的时候是为了实现功能,随着信息量和用户的增多,大数据和高并发成了软件设计必须考虑的问题,那么大数据和高并发本质是什么呢?威哥在网上也查阅了好些资料,总结了下大数据和高并发的本质:一个是慢,一个是等。两者是相互关联的,爱恨交织,因为慢,所以要等,因为等...
2019-10-31 20:21:40
716
原创 威哥浅谈Sql锁机制(悲观锁&乐观锁)
With NoLock:无锁(除了本身不锁表(不加任何锁) 也不会受其他的已存在的锁影响, 锁住的行数据也照样读)。With HolDLock:挂一个保持锁。With UpDLock:挂一个更新锁。With XLock:挂一个排他锁。注意: With NoLock 是不能用于update,delete insert 这种更新语句的,简单的说 With NoLock 只能用于S...
2019-10-31 18:12:45
788
原创 .net下通过GRPC完成RPC通讯
威哥一直琢磨着怎么搭建.net下的微服务,但是要实现微服务,必须要解决进程间的服务接口通讯,总不能做出了微服务体系,结果在一个局域网机制内的分布式服务间的通讯还得走rest的Http请求,这不是明显的资源浪费吗。所以威哥尝试了Google的Grpc。GRPC是一个开源RPC框架,于2015年3月开源,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于Protobuf 3...
2019-10-30 19:46:29
3361
原创 IDEA设置全局编码格式为utf-8
相信很多刚刚使用IDEA开发Java的同学很郁闷,新建的Jsp页面不是utf-8格式的,需要单独页面自己去添加编码格式。现在威哥教大家怎么设置,直接参照威哥截图操作:1.打开settings操作配置:2.开始配置:一定要按照威哥截图的配置,特别是最后红色方框框起来的部分。3.现在可以新建一个Jsp文件看看效果:...
2019-06-12 12:34:14
15790
3
原创 浅谈Servlet、Tomcat
威哥要开始Jsp之旅了,开始学习Java的web编程。在这里和大家一起简单理解下Jsp涉及到2个重要概念:Servlet、Tomcat。Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。狭义的Servlet是指Java语言...
2019-06-12 12:01:17
829
原创 Android布局:ConstraintLayout-约束布局
威哥更新了Android Studio 的IDE后,发现每次新建Activity时,默认创建的布局文件是下面这样的:<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/...
2019-04-08 15:07:04
919
原创 Android 让一个控件在另一个控件下方(layout布局属性)
如何让一个控件在另一个控件下面,直接操作下面代码:<LinearLayout android:id="@+id/ly_dialogPersonCode_Title" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginT...
2019-03-30 17:12:07
38092
1
原创 Android Gradle是什么?
威哥学习Java写了大半年的Android,今天打开项目,一直疑惑着项目里面这么多后缀.gradle,到底是干嘛的呢?汗颜啊!!!所有网上总结了下,和初学Android的同学一起分享下。首先我们的Android项目中会发现很多的后缀.gradle文件,如图: 现在威哥先介绍下这些.gradle是啥东东。Gradle官方定义:Gradle是一个基于Apache Ant和...
2019-03-25 10:46:31
19005
2
原创 Android Studio 升级之后项目报错:ERROR: Failed to open zip file
威哥最近升级Android Studio之后,发现项目崩溃了,什么都用不了,报下面该死的错误,可是威哥啥都没做啊?ERROR: Failed to open zip file.Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)Re-downl...
2019-03-02 10:39:37
1058
1
原创 Android Studio 更新最新IDE后SVN不显示
威哥把Android Studio更新最新的IDE之后,发现SVN图标没有了。威哥忙会了大半天,尝试了各自方法,终于解决了。下面直接上图和童靴们分享,虽说现在流行git了,不过威哥这边公司还没来得及迁移到Git,详细还是有好多同学在使用SVN。1.威哥更新完突然崩溃了,哥的大SVN哪去了?2.威哥找回了丢失的大SVN:按照威哥截图选中“Subversion”,美...
2019-03-01 18:02:16
1272
1
原创 Android Studio Sdk路径错误 找不到调试真机
威哥在项目开发时,因为团队各个Android Studio的SDK安装路径不一致,提交.iml文件重新定位指向的SDK位置不一致,但是在打开Android Studio时,会自动重新定位,弹出下面类似弹框:按照威哥的经验,这个时候点击“OK”确定即可自动更新本机SDK路径。但是有时候出了异常,不在弹出上面弹框,比喻你安装了sqlscout,这个破玩意安装需要购买正版验证码,而且一旦安装了该...
2019-02-02 15:21:41
2040
原创 SQL 日期时间&字符串转换
威哥每次遇到sql时间取特定部分,比喻时间取年月日,去时分秒之类的时间转字符串操作时,总是记不住这些转换要点,总要去网上查查,这次威哥决定辛苦一点,自己总结好,写到自己的博客,其他童鞋们可以查阅时,威哥自己也可以查阅,哈哈哈。GetDate()获得的日期由两部分组成,分别是今天的日期和当时的时间: Select GetDate() 用DateName()就可以获得相应的年、月、日,然后再把它...
2019-01-17 10:46:22
20245
原创 获取Android系统版本号
威哥本次发布app更新时发现原来自己写到类里面的版本号时不顶用的,需要使用build.gradle里面的系统内嵌版本信息才能发布升级app。威哥这里和大家一起分享下,首先我们需要在build.gradle文件中配置每次升级的版本序号和版本显示名称,版本号必须大于上次发布的版本号。注意:系统内嵌版本序号为int类型。废话不多说,威哥直接上版本获取方法:/** * 系统帮助类...
2018-12-25 17:44:35
1306
原创 Android数据持久化-Sqlite篇
威哥在本期妙管家项目中需要实现收货数据本地化存储,防止app意外崩溃,再次打开app时还能继续上次的收货数据,接着收货,比喻门店蔬菜100多个品类,正好收到99个Sku,各自原先导致app崩溃,或者不小心退出了app,总不能再重头开始收货。故威哥设计将收货实时存储在本地,之前使用的SharedPreferences不能存储大量数据,因为威哥的收货信息比较多,一个品类收货就有百来条数据信息需要存...
2018-12-19 17:59:52
403
原创 Android Studio 如何查看Sqlite数据文件
威哥本次的门店妙管家收货项目,需要考虑sqlite实现收货数据本地持久化,调试过程,读取数据出了些意外,威哥就考虑想直接查看下sqlite持久化的数据库文件,中间遇到些波折,想着大家可能也会遇到类似问题,就一起分享下。1、首先我们需要再Android Studio 上面sqlite数据库文件在哪里?如何将导出? i)可以先打断点调试,找到sqlite数据库文件地址,之后有目的的去查找;...
2018-12-19 14:27:42
25243
2
原创 Android引入Java8 - lambda表达式使用
威哥发现java针对泛型List取值实在太麻烦,没有.Net方便。今天把Android Studio 做了升级,支持Android SDK 9.0,之后启用了java8.0。这之后发现世界变得好美好,java直接玩lambda表达式,和.net一样通畅。和大家一起分享一下。首先大家先升级Android Studio的IDE,升级到最新,把Android SDK 9.0的SDK也下载下来,当然,...
2018-12-10 18:17:13
1390
原创 判断字符串是否数字、英文字母、汉字
威哥今天好忙,不废话了,直接代码吧,大家一起参考参考。 /** * 判断字符串是否为纯数字 * Author:William(徐威) * Create Time:2018-12-05 * * @param str * @return */ public static Boolean isNumber(Strin...
2018-12-05 18:25:47
2950
原创 代码设置标签背景图片:setBackground & 代码取色getColor
Android后台如何设置setBackground,之前有setbackgrounddrawable,参考代码:layout.setBackgroundDrawable(getResources().getDrawable(R.drawable.img_wstat_tstorm));但是该语法已经过时。可以使用下面方法替换实现:1.setBackground;2.setBac...
2018-11-20 18:59:58
9439
原创 android 点击空白区域键盘消失&加载gif图片
威哥开发手机Pda系统,发现输入完用户名后,发现秘密文本框被软键盘阻挡,非常影响用户使用,如是,威哥想用户在完成用户名输入之后,手指点击空白处,自动消失软键盘,方便用户手指直接定位到密码框。威哥遇到的效果图如下:威哥希望输入完用户名,手指轻轻触碰下空白处自动收缩起软键盘。需要2步操作。1.封装类:/** * 窗体页面帮助类 * Author:William(徐威)...
2018-11-09 10:34:28
667
原创 Android存储数据5种方式&SharedPreferences存储泛型T数据
本文是威哥总结了Android存储数据存储方式和大家分享,同时重点是介绍威哥自行封装的SharedPreferences存储泛型T数据。Android存储数据5种方式:1 、文件存储数据; 2 、SQLite数据库存储数据;3、 使用SharedPreferences存储数据;4 、使用ContentProvider存储数据;5 、网络存储数据。1)文件存储...
2018-11-07 14:19:10
1076
原创 实现基于PopupWindow的数字软键盘
威哥工作中,需要再EditText文本框下展示数字软键盘,用于输入数字。效果图如下: 威哥从来都是一个直来直去的人,直接上代码实现,大家借鉴借鉴,自行修改。1.xml布局popup_number.xml:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://sch...
2018-10-23 11:18:02
454
原创 Java验证手机号
威哥不废话,直接上代码:1.判断方法:/** * 判断是否手机号 * Author:William(徐威) * Create Time:2018-10-05 * @param phone * @return */public static boolean isMobilePhone(String phone) { boolean flag=true; Str...
2018-10-08 20:18:01
2391
原创 事物隔离级别
事务的几大特性: 原子性(Atomicity ); 一致性( Consistency ); 隔离性或独立性( Isolation); 持久性(Durabilily)。 简称就是ACID。本文主要介绍隔离性的实现有哪些级别,和这些级别的具体讲解。未授权读取也称为读未提交(Read Uncommitted):允许脏读取,但不允许更新丢失。如果一个事务已经...
2018-09-27 12:49:26
210
原创 自定义AlertDialog消息提示框
自定义AlertDialog消息提示框,大家根据我的代码自行扩展。下图是威哥做的demo消息提示效果图:威哥不喜欢废话,直接上代码。1、消息提示java类:package com.msh.mshselfweighing.utils;import android.app.AlertDialog;import android.content.Context;import an...
2018-09-13 19:43:09
908
原创 AppCompatDialogFragment自定义模态弹框
很多时候系统自带的AlertDialog并不能满足我们模态弹框的需求,我们的app具体业务可能需要定制化的模态弹框,这个时候我们可以通过继承AppCompatDialogFragment来定制化开发我们需要的模态弹框。现在大家看看威哥在威哥开发的《妙生活自助称重》App上的继承自AppCompatDialogFrament的定制化弹框效果图:童鞋们,怎么样?威哥做出来的效果还不错吧。...
2018-09-13 17:11:22
4886
原创 AlertDialog、Dialog、AppCompatDialogFragment自定义弹框点击空白处自动关闭
AlertDialog、Dialog、AppCompatDialogFragment自定义弹框点击空白处自动关闭:方法一:setCanceledOnTouchOutside(false):调用这个方法时,按对话框以外的地方不起作用。按返回键还起作用。setCanceledOnTouchOutside(true):点击灰色空白处关闭弹框。方法二:setCanceleable(fa...
2018-09-13 16:50:52
3366
原创 Android Studio 开发功能快捷键简介
不啰嗦,直接大纲加截图介绍:1、在当前窗口查找文本【Ctrl+F】:注意上面的上下方向键可以向上和向下查找,也可以使用快捷键:F3 向下查找关键字出现位置;Shift+F3 向上一个关键字出现位置。2、在当前工程内查找文本【Ctrl+Shift+F】:在上面红框匹配查找3、查找类【Ctrl+N】:4、查找项目中的方法或变量【Ctrl+Shift+Alt+N】:...
2018-09-06 20:04:42
269
原创 TextView 通过SpannableString设置属性大全
//创建一个 SpannableString对象 SpannableString msp = new SpannableString("字体测试字体大小一半两倍前景色背景色正常粗体斜体粗斜体下划线删除线x1x2电话邮件网站短信彩信地图X轴综合"); //设置字体(default,default-bold,monospace,serif,sans-seri...
2018-08-30 20:09:42
1019
原创 EditText文本输入框使用完毕自动掩藏输入法
很多时候EditText文本输入框在输入信息完成操作之后后,我们希望能够自动收缩掩藏起虚拟键盘,以方便处理其他业务逻辑。比喻本文中EditText文本在输入商品编号完成商品检索之后,需要自动掩藏虚拟键盘,不要遮挡其他页面操作信息,当下次再检索商品信息时,再自动弹出虚拟键盘完成输入。看上图效果,晚上输入操作之后,自动掩藏了输入法,下次使用时再打开。关键代码如下:EditTe...
2018-08-30 15:06:31
880
原创 MagicIndicator设置指示器Title字体大小
MagicIndicator设置指示器Title字体大小:MagicIndicator magicIndicator = (MagicIndicator) findViewById(R.id.magic_Category);magicIndicator.setBackgroundColor(Color.parseColor("#d43d3d"));CommonNavigator comm...
2018-08-28 17:15:58
5016
2
原创 RecyclerView空数据提示
ViewPager中使用RecyclerView绑定数据时经常会遇到没有数据时,需要显示“无数据”提示用户。下面是我的做法,先上图片效果 原理很简单,没有数据时显示图片和文字提示。1、xml布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://sche...
2018-08-28 16:33:23
5413
原创 Android开发之Glide图片加载介绍
Glide简介: Glide 是 Google 员工的开源项目, Google I/O 上被推荐使用,一个高效、开源、Android设备上的媒体管理框架,它遵循BSD、MIT以及Apache 2.0协议发布。Glide具有获取、解码和展示视频剧照、图片、动画等功能,它还有灵活的API,这些API使开发者能够将Glide应用在几乎任何网络协议栈里。创建Glide的主要目的有两个,一...
2018-08-23 16:05:55
745
继承AppCompatDialogFragment自定义dialog 弹框(带悬浮效果)
2018-09-12
Android打印例子(包含USB、蓝牙、Wifi)
2018-08-27
MsSQLServer(2016) 无域群集配置 AlwaysON(高可用组),有详细文档说明,包含步骤截图
2018-08-24
glide-3.7.0图片加载
2018-08-23
MagicIndicator打造千变万化的ViewPager指示器(viewpager fragment)源码
2018-08-23
Android自定义进度条集合(源码)
2018-08-15
C#通过NOPI导出Excel(支持Excel2007以上和以下,全支持,完整代码封装,绝对可用,支持List,DataTable)
2018-08-04
jackson2.9.6(jackson-annotations、jackson-core、jackson-databind)
2018-07-22
gson.jar&Android;服务请求代码
2018-07-21
Xamarin.Android 悬浮框(背景半透明遮挡)
2018-05-05
Xamarin移动开发Get、Post服务请求源码
2018-03-14
Xamarin移动开发Get,Post请求源码
2018-03-14
Fehelper.rar
2020-07-28
william-spring-project.rar
2020-04-13
IDEA插件-lombok-plugin-0.28-2019.3.rar
2020-04-09
IDEA插件-FindBugs-IDEA-1.0.1.rar
2020-04-09
IDEA压缩minJS插件yuicompressor-2.4.8.rar
2020-03-20
jenkins2.164.3(威哥版).rar
2020-01-10
威哥版MsSQLServer(2016) 无域群集配置 AlwaysON(高可用组)
2018-10-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人