自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (3)
  • 收藏
  • 关注

原创 Leetcode本地调试根据数组生成二叉树

Leetcode上面的二叉树问题,输入都是一个数组,可以调用该方法生成二叉树,用于本地调试(通过队列实现)。class TreeNode { int val; TreeNode(int val) { this.val = val; } TreeNode right = null; TreeNode left = null; ...

2020-02-09 22:02:45 1796

原创 算法题用static声明变量引发的血案

【题目】给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回3, 它的长度是路径 [4,2,1,3] 或者[5,2,1,3]。注意:两结点之间的路径...

2020-01-31 19:30:09 304

原创 JPush Android SDK快速集成

刚刚通过Jcent集成JPush的时候遇到些麻烦。主要是因为官方文档里面自动集成和手动集成混在一起写,不清楚自动添加哪些部分需要添加,所以写篇博客记录下,Jcent自动集成JPush的方法。官方文档请看这里,本文章只是快速编写案例的Demo。另外本文是基于jpush3.3.0以及jcore2.0.1版本,JPush更新了版本的话,可能配置方式也会有相应的改变。1. 在Android Studi...

2019-05-19 15:49:26 978

原创 Socket模拟浏览器请求网页

什么是socket?简单讲,socket是对tcp进行封装,对外提供网络连接的接口原理http底层的实现是通过socket实现的,打开http服务器(web服务器)实际上是创建了SocketServer;浏览器请求网页时,则是通过socket去连接服务器,使用http协议完成数据的传输。环境搭建可以使用正式的网站,也可以自己打一个网页服务器(xampp,Nginx,tomca...

2019-04-13 12:06:45 1784

原创 使用Java开发一个简单的网络聊天室(命令行模式)

功能预览服务器客户端(可以同时登录多个客户端)演示(点击看大图效果比较好,直接看变形了)下载地址:https://download.csdn.net/download/gbstyle/11092879github地址:https://github.com/w-g-b/IRS/tree/master/src/main/java/com/gb/chat服务器代...

2019-04-06 17:09:58 1056

原创 Android Studio 自定义Toast代码模板

在编写程序的使用,经常会使用会有用到Toast的场景,特别是在测试一些新的库的使用(别问我为什么不用Log,有的手机就是打不出Log,无解,比如我的手机,所以非常无奈,就只能用Toast勉强看一下)。另外,在实际的项目中也会经常的使用Toast提示一些用户操作,所以说Toast的使用还是非常频繁的,但就是偏偏,ide上面自带的模板还得跳过去选择第二项,就像这个样子:而且每次都得设置Cont...

2019-03-31 20:09:53 799

原创 Android Studio导入依赖的方式

关于依赖包的导入,主要有以下几种方式:1. 直接使用jar包,添加到需要使用的模块的libs文件夹内,然后点击一下同步点击同步前的状态:同步按钮点击同步后,包前面的按钮会变成三角形,表示添加成功如果添加失败,可以查看一下该模块的build.gradle文件是否有这句,表示添加libs目录下所有的jar包(注意libs是模块下的一级目录 ,如果不是的话,需要自行修改)...

2019-01-15 16:05:48 7266

原创 RESTful接口设计

1. 请求方法允许的请求方法有:GET、POST、PUT、DELETE。分别完成以下功能:GET获取资源,POST添加数据、PUT更新数据、DELETE删除已有数据2. 请求地址URL地址不包含动词,以名词复数形式出现,并且与数据库的表名对应3. 版本号处理API版本添加到URL地址中,域名后面紧急版本号,如:https://api.gbdev.cn/v1/clients也可以将版...

2019-01-08 20:37:13 641

原创 环形子数组的最大和

leetcode链接给定一个由整数数组 A 表示的环形数组 C,求 C 的非空子数组的最大可能和。在此处,环形数组意味着数组的末端将会与开头相连呈环状。(形式上,当0 <= i < A.length 时 C[i] = A[i],而当 i >= 0 时 C[i+A.length] = C[i])此外,子数组最多只能包含固定缓冲区 A 中的每个元素一次。(形式上,对于子数组 C...

2018-12-12 00:52:11 14486

原创 SELECT子句的功能及其顺序

汇总表子句说明是否必须使用SELECT要返回的列或者表达式是FROM从中检索数据的表仅在从表里选择数据时使用WHERE行级查询否GROUP BY分组说明仅在按组计算聚集时使用HAVING组间过滤(用在GROPUP BY之后)否ORDER BY设置输出排序顺序否LIMIT要检索的函数否...

2018-12-11 23:12:12 17706

原创 进程与线程的区别

一个程序至少包含一个进程(其实也可以包含多个进程,具体看程序实现);一个进程至少包含一个线程(当然了,多线程的应用就司空见惯了)。主要的区别如下:进程拥有独立的内存单元(地址空间),是系统进行资源分配和内存调度的一个独立单位;线程间共享内存空间,是进程的一个实体,是CPU 调度的基本单位 线程可与同属一个进程的其他线程共享进程内的资源 进程拥有独立的地址空间,一个进程崩溃并不会影...

2018-12-11 20:04:13 13039

原创 SELECT不加FROM子句的用法

很多人可能不知道,数据库管理系统(DBMS)中的SELECT语句除了检索数据之外,其实还提供了一些测试的功能,比如说测试正则,实验函数还有计算等功能。SELECT主要用于检索数据如:但其实SELECT语句还有其他一些妙用,可以当做一个简单的测试工具。1.使用SELECT来测试正则表达式SELECT语句中使用REGEXP子句的话可以使用正则表达式进行匹配查询结果,如:(注...

2018-12-11 19:51:41 20556

原创 第一个错误的版本

leetcode链接你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 versi...

2018-12-11 14:41:59 13251

原创 判断子序列

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。(leetcode链接)你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)...

2018-12-11 13:30:41 14710

原创 三个数的最大乘积

给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。(leetcode链接)示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。思路:分两种情况:...

2018-12-11 01:48:56 14177

原创 windows自带桌面远程控制

被控制方设置1.打开系统属性(win+pause)2.进入远程设置3.在远程协助里勾选允许远程协助连接计算,在远程桌面桌面上选择允许运行任意版本远程桌面的计算机连接4.进入用户管理界面,设置账号和密码(必须设置密码)5.查看本机ip控制方1.打开远程桌面连接(运行->mstsc)2.输入被控制方的ip地址,然后连接,连接成功之后再输入账号和密码即可(注意,在连接过程中被控制...

2018-10-14 15:51:45 37732 2

原创 win + e打开我的电脑

解决win10使用win+e打开此电脑时打开的却是“快速访问”的问题:1.打开此电脑,在上方的菜单栏中打开查看下拉菜单2.打开最右边的选项3.把常规里面的“打开文件资源管理器以完成以下操作”改为这台电脑。...

2018-10-14 15:47:19 14676

原创 cmd增删文件夹

在输入的命令后面添加 | more  ==》 可以分页查看 (可以用在查看大量文本的时候)注意:这里是竖线而不是斜杠或者其他cd 文件夹   ==》 到某个文件夹md 文件夹   ==》 创建文件夹rd 文件夹   ==》 删除文件夹del  文件夹 ==》 删除文件ren 旧文件名 新文件名  ==》更改文件名del *.扩展名   模糊删除文件,这样的话可以一次性删除某个类型...

2018-10-14 15:43:55 13041

原创 git常用命令汇总

1. git add <file> 添加到文件到版本库,也可以添加文件 git add . 或者 git add *2. git reset HEAD <file> 取消添加到版本库3. git commit -m “commit message” 提交修改,当版本库内容有修改时才可以修改(即使用了git add命令)提交可选的额外信息:使用两次-m 如:git...

2018-10-14 11:36:47 13238

原创 MySQL基本命令

1.查看版本:MySQL -v2.进入操作界面:MySQL -uroot -p1234 (注:root为用户名,1234是密码,另外还可以添加其他的一些参数-P3306 -h127.0.0.1 -P后加上端口,-h后加上服务器地址)3.修改提示符:利用prompt命令再在之后添加参数:\h表示主机名,\u表示用户名,\D表示日期,\d当前数据表(注:可以添加其他的字符来美化提示符,如:pr...

2018-10-14 11:32:38 13012

原创 使用FrameLayout的时候,按钮一直显示在上面

有这样的布局<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="ma

2018-10-02 15:29:22 15710

原创 Android中为layout创建子文件夹

在开发Android项目的时候,往往都有一大批java文件和layout文件,java文件分类比较简单,直接方法创建文件夹就行,但layout还需要多一步配置。看最后的文件结构图实现步骤:1. 创建相应的文件夹结构,需要注意的是,无论如何,布局文件的所在的文件夹名称都是layout,这个条件时必须满足的,否则有可能出现找不到命名空间的情况,如图,我把布局文件放在了launchmod...

2018-09-19 22:25:00 21344 5

原创 关于Activity中onStop和onPause调用时机的各种误解

源码 : https://github.com/w-g-b/ActivityReview正确结果假设当前的FirstActivity为A,要调用A的onPause方法而不调用onStop方法 1. 在AndroidManifest文件中,将ThirdActivity(B)的theme属性设置为对话框样式(也可以使用自定义主题,也不必一定是对话框,也可以设置成透明样式的Activi...

2018-09-18 16:54:36 16506 1

原创 设置Activity的主题为对话框时报错解决方案

将Activity设置为对话框的方法:报错信息如下: 09-18 12:50:31.530 22599-22599/com.gb.activityreview E/AndroidRuntime: FATAL EXCEPTION: main Process: com.gb.activityreview, PID: 22599 java.lang.RuntimeExcep...

2018-09-18 13:05:46 12663

原创 Android开发常用的测试用具

1. adb安卓调试桥(android debug bridge),是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。可以实现安装、卸载以及调试应用等功能。2. fiddlerFiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。3. avd安卓模拟器,在没有充足的测试机时可以使用模拟器测试,比如可...

2018-09-07 00:44:29 12762

原创 Intellij IDEA中JavaWeb项目部署到Tomcat服务器上

1.Build项目项目会出现个弹框,选择Build或者Rebuild这个时候会多出一个out文件夹,其中SmallProgress_war_exploded(我的工程名称是SmallProgress)就是要部署到Tomcat的文件。(直接Run项目其实也是会生成改文件夹的)2.找到Tomcat的目录,将SmallProgress_war_exploded(这里可以修改文件夹...

2018-09-06 22:31:19 22125 3

转载 frp的使用

 frpfrp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。frp 的作用利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。 对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。 利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 ...

2018-09-05 16:19:54 17686

原创 IP协议相关概念

IPV4地址表示方式:点分十进制,即把32位二进制的IP地址用点分为4个部分,每个部分有8位的二进制,再转换为十进制表示子网掩码:用于计算IP地址的主机地址和网络地址部分,将IP地址和子网掩码做与运算,得到的则为网络地址,其余部分为主机地址有时候,IP地址后面会加上个斜杆加数字,比如:192.168.1.104/24,后面的/24其实是子网掩码的简化表示,即255.255.255.0(...

2018-09-05 10:08:49 13650

转载 Android面试总结

1. 什么是Activity? 四大组件之一,一般的,一个用户交互界面对应一个activitysetContentView() ,// 要显示的布局 button.setOnclickLinstener{}, activity 是Context的子类,同时实现了window.callback和keyevent.callback,可以处理与窗体用户交互的事件.  我开发常...

2018-08-10 09:56:55 15248

原创 ArrayList和LinkedList对比(性能分析和实现等)

做Android开发的,面试估计是逃不了这个问题,面试官特别喜欢问这个问题,大家估计心里也有点低,也能说上一些区别。但是总有面试官喜欢刁难,不停的问:“还有吗?”,“还有吗?”,搞得自己超级方。所以最近打算深入了解ArrayList和LinkedList的实现。List接口要说ArrayList和LinkedList的相同点的话,先看他们的继承关系 可以看到ArrayList...

2018-08-09 20:44:54 20145 2

原创 Android自定义相机开发相关知识点(全)

看完了郭神的第一行代码(第二版),在看书之前看了好几个月的Android开发视频。刚好老师安排了一个实训的作业,要求我们做一个民族相关的应用,平台和语言都不限。一想,刚好可以验收一下将近半年来的学习成果了,于是和同学Android的两个同学组队做一款民族app。想到的其中一个功能就是民族换装。主要是在相机上面加上一件完成旋转缩放等交互的衣服来当做预览界面,用户可以翻转相机或者打开闪光灯还有实现拍照

2018-08-08 09:52:35 14842

原创 手写帝国之崛起 -- Unity游戏开发篇(总述)

手写帝国一款手写汉字打怪类游戏,使用Unity结合Android Studio开发(此为Unity部分) GitHub传送门IDE信息Unity 2017.3.0f3(64bit) Android Studio 3.1功能手写输入功能:利用原生Android实现手写功能并记录手写轨迹数据,在通过灵云提供的sdk分析获取的轨迹数据,从而实现手写字体识别的功能。自动...

2018-07-13 15:34:45 16340

原创 Activity生命周期详解

Activity生命周期可以分为两个部分: 正常情况: 即典型情况下的Activity的生命周期 异常情况: 在系统配置发生变化的情况下或者由于资源内存不足导致Activity被杀死情况下的生命周期 本文将从这个两个方面展开讲解Activity的生命周期。正常情况 正常情况下,Activity常用的生命周期就只有7个,即onCreate(), onStart...

2018-07-13 15:11:48 14770

原创 Unity开发Android游戏时返回按钮的处理

使用unity开发手机游戏时最不方便的一点是,unity默认不会帮你处理返回按钮的功能。但这个功能确实必不可少,就算是单个场景也是需要通过返回按钮退出应用的。无奈只能自己写一个~~~~首先写一个单例,挂在第一个加载的unity场景上public class BackHandler{ public static BackHandler _instance = new BackH...

2018-04-06 22:28:59 18494

原创 win+r使用技巧

win+r使用技巧介绍在运行窗口中输入应用名称即可运行系统中 指定位置 的应用程序简单使用在windows系统任意界面键入win+r,即可弹出运行窗口,输入命令运行相应程序,常用的指令诸如:cmd(命令行),calc(计算器),mspaint(画图),notepad(记事本),mstsc(远程桌面),shutdown(关机程序)等等 实现原理计算机中实现的所有功能,都是事先设定好了的。运行窗口中

2017-08-14 10:36:12 30505

Java实现的一个网络聊天室(命令行模式,包含源码)

需要安装有JRE的环境才可以使用,里面包含有说明以及演示,具体实现可以参看文章:https://blog.csdn.net/GBStyle/article/details/89057768

2019-04-06

java api中文文档

内容包含有java_api_1.6中文文档、java_api_1.8中文文档

2018-10-02

韩立刚-计算机网络原理精讲课件

韩立刚-计算机网络原理精讲课程的课件以及各个章节的笔记,还包括部分软件

2018-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除