- 博客(79)
- 资源 (4)
- 收藏
- 关注
原创 Android截屏
public static int getWindowHeight(Context context) { return context.getResources().getDisplayMetrics().heightPixels;}public static int getWindowWidth(Context context) { return context.getResources().getDisplayMetrics().widthPixels;}VirtualD..
2021-03-02 16:13:31 160
原创 华为平板5.x,Android7.0系统访问接口失败的问题。
后台修改nginx配置ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;解决。比较坑的问题。
2021-01-29 15:09:30 338
原创 Java字符串数组,根据ASCII表排序
ArrayList<String> list = new ArrayList<>();private void initData() { try { JSONObject jsonObject = new JSONObject(JsonResult.test); Iterator<String> keys = jsonObject.keys(); while (keys.hasNext()){ .
2021-01-13 15:32:56 1895
原创 Android webview设置Cookie时的坑。
CookieSyncManager.createInstance(getContext());CookieManager cookieManager = CookieManager.getInstance();cookieManager.setAcceptCookie(true);cookieManager.setCookie(url, "bd_env=" + "android");cookieManager.setCookie(url, "xxxx" + xxxx);if (Build.V.
2020-07-24 11:34:55 418
原创 解决RecyclerView刷新时,列表中的视频窗口闪烁的问题。
最近做在线课堂的过程中,多个用户开视频时,刷新状态,会闪烁。@Overridepublic long getItemId(int position) { return Long.parseLong(userList.get(position).getUserId());}userVideoAdapter = new UserVideoAdapter(getActivity(), mRtcEngine);userVideoAdapter.setHasStableIds(true)
2020-07-21 16:37:46 344
原创 简单的毫秒和微秒转换
项目中的IM,服务器用的是微秒,使用纳秒转的。但是前端没必要精确度那么高。服务端发来的微秒字符串转毫秒Long.parseLong(bean.getSendTime())/1000本地的毫秒转微秒System.currentTimeMillis()*1000
2020-07-16 17:51:52 988
原创 从零开始学编码9
人生之所以有意义,是因为人的生活是连续的,不会出现每天起床以后,以前的事都忘记,没有记忆的人生是没有意义的。但是人的记忆也是有缺陷的,你并没有办法记住你所经历过的没件事,没有过目不忘的本领。而计算机如果容量足够大,它是可以的,所以人们从以前的利用纸笔来辅助记忆,过渡到以计算机存储来辅组记忆。小的时候日记写了一本又一本,而现在每天发一发朋友圈,等一些年以后翻看朋友圈的时候,会感叹道,哇!当年自己也是一枚小鲜肉啊! 这篇文章是这个系列的最后一篇文章,我们前面说了加法器,计数器,今天...
2020-06-22 11:27:32 385
原创 从零开始学编码8
最近的这几篇文章,对有些朋友来说可能有些难以理解,特别是半路转行来当程序员的,因为有前辈们将计算机的世界进行一层又一层抽象和封装,让我们可以选择一门感兴趣的编程语言,掌握这门语言的API,掌握编程思想,选一款好用的IDE,也能很好的完成工作,甚至做出很好的成就,拿到不菲的薪水,但是人类是有好奇心和求知欲的,你就不想知道,你输入的一行行代码,怎么变成机器码0和1,计算机又怎么处理这些0和1吗?特别最近M国对我国进行科技打压,暴露出来我国的计算机基础科学的短板,虽然我们有很多个大型IT公司,但是...
2020-06-21 11:38:56 443
原创 从零开始学编码7
从零开始学编码6中我们学习了怎么一步步使用基本逻辑门构建出来一个8位二进制加法器,而这篇文章我们要通过加法器来实现减法运算,并且引出反码和补码的概念。 小学的时候,我们学过各种算术技巧,口算,心算,指算,凑十法,找朋友等,有各种各样的口诀。而其中有一个技巧是算减法时所用,例如:253-176这里需要使用借位,但是如果使用: 253-176+999+1-1000=253+(999-176)+1-1000=77 通过上面的转换,我们不使用借位也...
2020-06-18 17:35:12 296
原创 从零开始学编码6
在从零开始学编码5中使用双掷继电器设计了四种基本逻辑门(与门、或门、或非门、与非门),双掷继电器有缓冲器串联为与门,并联为或门;反向器串联为或非门,并联为与非门。 这次我们来看看如何使用逻辑门来搭建一个二进制加法器,而减法、乘法和除法都可以用加法来实现。在计算机发展史的早期,有大能设计了机械结构的十进制加法器,但是被历史所淘汰。现在我们所使用的计算机cpu都是二进制,之所以使用二进制,是因为在很容易实现两种状态,高电平和低电平,现在的信息世界已经由二进制构成了,如果采用高电...
2020-06-17 21:00:27 344
原创 从零开始学编码5
从零开始学编码4上一篇文章,从现实的问题开始分析,抽象成逻辑问题,再通过布尔代数解决问题,然后使用基础电路来表达布尔代数。 蜿蜒的长城上有一座又一座烽火台,古代如果一处发现军情,白天烧狼烟,晚上燃烽火,用来向远处的人的传递军情,这里的烽火台就起到一个消息中继的作用,通过一个个烽火台哪怕百里之外也能迅速知道军情。到了近代传递军情信息都是通过电报,而电报如果传输的距离过远,使用长长的导线也不行,如果导线过长,电阻变大,电流信号就会衰弱,这时候远距离电报机之间就需要类似烽火台的设备来使衰弱的信...
2020-06-15 19:26:19 1007
原创 从零开始学编码4
从零开始学编码1从零开始学编码2从零开始学编码3 前面三篇文章我们了解了编码的本质,基本电路,以及各种进制数所引出的二进制数。以及具备了计算机科学的最基本单位,这一篇将介绍逻辑与开关,使用0和1表示逻辑学的运算,以及电路中的中继器和它的衍生出来的,2-4译码器、反相器、缓冲器,与门、或门、与非门、或非门。而下一篇将使用这些逻辑门设计二进制加法器。编码一书本身的例子就非常好,便于理解,我将引入书中选猫咪的例子。 逻辑学是研究由条件推导结果的学科,在漫长的时间...
2020-06-08 13:20:44 352
原创 从零开始学编码3
从零开始学编码1中我们对编码这个概念进行了了解。在从零开始学编码2中学习了基本的电路知识。 这篇我们说一说进制数。 在远古时期,人类便有了计数的需求,看着自己的手指,大拇指代表一个苹果,食指代表第二个苹果,中指代表的第三个苹果、、、、,好吧人类只有十根手指,可能只能做十以内的计数,后来人的思维能力发散,有了逻辑能力,可以用一个10,两个10、、、,十个十,这样计数。无疑十进制是最适合人类的计数方式,因为人类有十根手指。我上大学的时候去给一个学前班的老师代课,给小朋友...
2020-06-07 20:40:09 336
原创 从零开始学编码2
从零开始学编码1 接着上次说,计算机内的世界是由0和1组成的。很多种事物可以表现成0和1。例如:女人是0,男人是1。手电筒灭是0,亮是1。这次我们就说一说手电筒。 小时候上夜自习,农村的晚上没有路灯,学完冰心奶奶的小橘灯后,我们热衷于用酒盒子做灯笼,夜自习放学挑着灯笼走。后来见有人拿小手电筒,还带彩光的,感觉特别厉害的样子。我从攒的钱里(攒钱准备买游戏机,可以玩俄罗斯方块的那种,一共攒了三年,买回来的那天晚上和弟弟抢着玩被我妈摔碎了),拿出来两块钱,也买了一个小手电,送了两...
2020-06-05 18:54:33 232
原创 从零开始学编码1
我记得小时候学的课文,地下党同志被捕前,将一把笤帚放到窗外,接头的同志看到这个就知道这个地方不安全。我们看谍战片的时候经常会有暗语,特殊声音或标志来通知自己的同志一些重要信息。还有就是常见的发电报,滴滴哒哒的声音。这些暗语,声音,标志,甚至于摆放特殊的笤帚。就是编码,编码重于约定。 小时候我经常会想着,狗为什么叫做狗,鸡为什么叫做鸡。我妈对我说,大家都这么叫。你这样说别人就知道你说的是什么动物。你如果不这样说,可能别人不知道你要表达的是狗。这样的回答并没有解决我的疑惑。...
2020-06-05 12:22:36 470
原创 学习感悟和随笔
到今天为止,我学习的过程中记的笔记已经都发完了,没有存货了。 学习的时候记得笔记,比较零碎,可以用来查漏补缺还行,真用来学习,是不够的。看的时候心里活动轨迹是这样就可以了,哦!这个多线程的东西我知道,作者写的不详细,其实除了继承Thread,实现Runnable意外还有第三种方法,第三种方法是吧啦吧啦。哦!这个多重锁的概念我不知道,作者没写清楚,查查资料去。这样也算能学习到东西。 我们通常将一门学科定为理论学科或者实操学科。而计算机编程这个学科是即重理论又...
2020-06-03 17:06:00 215
原创 web-ElasticSearch
ElasticSearch简介Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。ElasticSear.
2020-06-03 16:27:06 195
原创 web-数据库五(MYSQL)
1.数据库的基本概念1.数据库的英文单词:DataBase 简称:DB2.什么是数据库?用于存储和管理数据的仓库。3.特点:1.持久化存储数据。其实数据库就是一个文件系统。2.方便存储和管理数据。3.使用了统一的方式操作数据库。4.常见数据库软件1.Oracle2.MySQL3.SQL Server4.PostgreSQL5.MongoDB6.Cassandra7.Microsoft Access8.Redis9.SQLite10.DB
2020-06-03 16:23:44 180
原创 web-数据库四(数据库权限操作)
* DBA:数据库管理员* DCL:管理用户,授权1. 管理用户1. 添加用户:* 语法:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';2. 删除用户:* 语法:DROP USER '用户名'@'主机名';3. 修改用户密码:UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名';UPDATE USER SET PASSWORD = PASSWORD('abc.
2020-06-03 16:21:34 210
原创 web-数据库三(事务)
事务的基本介绍:1.概念:如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。2.操作:1. 开启事务: start transaction;2. 回滚:rollback;3. 提交:commit;3.例子:CREATE TABLE account (id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(10),balance DOUBLE);-- 添加数据INSERT INTO
2020-06-03 16:20:19 225
原创 web_数据库二(多表操作)
1.多表查询:2.事务3.DCL控制权限,和用户的。多表查询:*查询语法:select * from 表名列表 where 条件;笛卡尔积A,B,有两个A,B,取这两个集合的所有组成情况。消除无用的数据。多表查询分类:1.内连接查询隐式内连接-- 查询所有员工信息和对应的部门信息SELECT * FROM emp,dept WHERE emp.`dept_id` = dept.`id`;-- 查询员工表的名称,性别。部门表的名称SELECT em.
2020-06-03 16:19:10 157
原创 web-数据库一
数据库设计1.多表之间的关系:1.一对一;如:人和身份证分析:一个人只有一个身份证,一个身份证只能对应一个人2.一对多(多对一):如:部门和员工分析:一个部门有多个员工,一个员工只能对应一个部门3.多对多:如:学生和课程分析:一个学生可以选择多门课程,一个课程也可以被多名学生选择。表的实现:1.一对多表的实现:在多的一方建立外键,指向一的一方的主键。2.多对多表的实现:需要借助第三张中间表,中间表至少包含两个字段,这两个字段作为第三章表的外键.
2020-06-03 16:18:10 132
原创 web-MongonDB
NOSQL,最像关系型数据库的非关系型数据库。关系型数据库,表与表之间有关系,有一对一,一对多,多对多。一对一和一对多靠主外键产生关联。多对多靠中间表产生关联。-----------------------------------------------------------------MongoDB1)数据量大2)写入操作频繁3)价值较低对于这样的数据,更适合用MongoDB来实现数据的存储。像淘宝订单这类数据不能用MangoDB。跨平台,面向文档的数据库。当..
2020-06-03 16:15:35 94
原创 web-RabbitMQ
消息队列中间件是分布式中重要组件,主要解决应用耦合,异步消息,流量削峰,消息通信等。常用的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ.以前是消息发到队列中。现在是消息发给交换器,一个交换器连接多个队列。多个交换器和多个队列交叉链接。RabbitMQ Server,也叫broker serverProducerConsumerExchangeQueueRoutingKeyRabbitMQ Ser...
2020-06-03 07:39:38 183
转载 web-redis
1.概念2.下载安装3.命令操作1.数据结构4.持久化操作5.使用Java客户端操作redisRedis:概念:redis是一款高性能的NOSQL系列的非关系型数据库。关系型数据库:mysql、oracle1.数据之间有关联关系2.数据存储在硬盘的文件上非关系型数据库(NOSQL):redis. hbase存储key:valuename:zhangsanage:231.数据之间没有关系。2.数据存储在内存中缓存思想:...
2020-06-01 18:05:13 138
原创 web-maven
概念:一键构建。下载安装基本操作高级操作maven 项目标准目录结构src/main/java 核心代码部分src/main/resources 配置文件部分src/test/javasrc/test/resourcessrc/main/webapp 页面资源、js、scc、imgMaven常用命令:mvn cleanmvn compliemvn testmvn packagemvn install每一个构建项目的命令都对应了m..
2020-06-01 18:03:42 99
原创 web-json
JSON:Javascript Object Notation Javascript对象表示法。json多用于存储和交换文本信息的语法。进行数据传输json比xml,更小,更快,更易解析。语法:1.基本规则:1.数据在名称/值对中。2.数据由都好分割。3.花括号保存对象。4.方括号保存数组。2.获取数据:1.json对象.键名2.json对象["键名"]3.数据对象[索引]3.JSON数据和Java对象的相互转换JSON解析器:...
2020-06-01 18:02:43 103
原创 web-AJAX
AJAX概念:asynchronous JavaScript And XML 异步的JavaScript 和XML1.异步和同步:客户端和服务器端相互通信的基础上。同步:客户端必须等待服务器端的响应,在等待的期间客户端不能做其他操作。异步:客户端不需要等待服务器端的响应,在服务器处理请求的过程中,客户端可以去进行其它的操作。部分页面更新实现方式:1.原生的JS实现方式2.JQeury实现方式1.$.ajax()$.ajax({"键值对"}),键值对用...
2020-06-01 18:01:35 70
原创 web-JQuery高级
动画:三种方式显示和隐藏元素1. 默认显示和隐藏方式1. show([speed,[easing],[fn]])1. 参数:1. speed:动画的速度。三个预定义的值("slow","normal", "fast")或表示动画时长的毫秒数值(如:1000)2. easing:用来指定切换效果,默认是"swing",可用参数"linear"* swing:动画执行时效果是 先慢,中间快,最后又慢* linear:动画执行时速度是匀速的3. fn:在动画完成时执行的函数,每
2020-06-01 16:50:26 179
原创 web-JQuery
概念:一个JavaScript框架。简化JS开发JavaScript框架:本质上是一些js文件,封装了js的原生代码而已快速入门1.步骤:1.下载JQueryjquery-xxx.js与jquery-xxx.min.js区别:1.jquery-xxx.js:开发版本,给程序员看,有良好的缩进和注释2.jquery-xxx.min.js:生产版本,程序中使用,没有缩进。体积小一些。程序加载更快。2.导入JQuery的js文件:导入min.js文件3.使用var d.
2020-06-01 16:48:24 147
原创 web-Filter
WEB三大组件:Filter:过滤器Listener:监听器Sevelet:控制器Fliter过滤器:Web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。过滤器的作用:一般用于完成通过的操作。如:登录验证、统一编码处理、敏感字符过滤***。快速入门:1.步骤:1.定义一个类,实现Filter接口2.复写方法3.配置拦截路径2.代码:@Overridepublic void doFilter(Servle..
2020-06-01 16:47:12 120
原创 web-三层架构和MVC模式
三层架构:软件设计的架构:1.界面层(表示层/web层):用户看的界面。用户可以通过界面组件和服务器进行交互。接受用户参数,封装数据,调用业务逻辑层完成处理,转发jsp页面完成显示。com.zcl.项目名.webSpringMVC框架2.业务逻辑层(service层):处理业务逻辑层。组合Dao层中的简单方法,形成复杂的功能(业务逻辑操作)com.zcl.项目名.serviceSpring框架3.数据访问层(dao层,Data Access Object):操作数据存
2020-06-01 16:45:03 183
原创 web-el表达式&JSTL标签
EL表达式:1.概念:Expression Language 表达式语言2.作用:替换和简化jsp页面中Java代码的编写3.语法:${表达式}4.注意:jsp默认支持el表达,如果要忽略el表达式1.设置jsp中page指令中 isELIgnored="true",忽略当前jsp页面中所有的el表达式。2.\${表达式}:忽略当前这个el表达式。5.使用:1.运算:运算符:1.算数运算符:+-*/(div)%(mod)2.比较运算符:> < &g
2020-06-01 16:42:49 142
原创 web-JSP
概念:java servlet page:java服务器端页面可以理解为一个特殊的页面,既可以定义html,又可以定义Java代码。用于简化servlet的开发。1.服务器解析请求消息,找到index.jsp资源。2.如果找到了,会将index.jsp转换为_index.java文件3.编译成.class文件4.由字节码文件提供访问。原理JSP本质上就是一个servlet。jsp的脚本:jsp声明Java代码的方式。1.<% Java代码 %&g..
2020-06-01 16:41:38 113
原创 web-cookie和session
1.会话技术:CookieSession会话技术:1.会话:一次会话中包含多次请求和响应。一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到一方断开为止。2.功能:在一次会话的范围内的多次请求间,共享数据。3.方式:1.客户端会话技术:Cookie2.服务器端会话技术:SessionCookie:1.概念:客户端会话技术,将数据保存到客户端2.快速入门:步骤:1.创建Cookie对象,绑定数据。Cookie(String nam..
2020-05-31 12:11:44 96
原创 web-ServletContext
ServletContext对象1.概念:代表整个web应用,可以和程序的容器(服务器)来通信获取:通过request对象获取:request.getServletContext();通过HttpServlet获取: this.getServletContext();2.功能:1.获取MIME类型:在互联网通信过程中定义的一种文件数据类型。格式:大类型/小类型 text/html image/jpeg获取:String getMimeType(String file )2
2020-05-31 12:06:31 115
原创 web-Response
Http协议:1.请求消息:客户端发送给服务器端的数据。数据格式:1.请求行2.请求头3.请求空行4.请求体2.响应消息:服务器端发送给客户端的数据。数据格式:1.响应行HTTP/1.1 200 OK1.组成:协议/版本 响应状态码码 状态描述2.响应状态码码:服务器告诉客户端浏览器本次请求和响应的一个状态1.状态码都是3位数字2.分类:1xx:服务器接收客户端消息,但没有接受完,等待一段时间后,发送1xx状态码2xx:成功。代表2003x
2020-05-31 12:03:35 117
原创 web-Request
Request:1.request对象和response对象的原理 1.tomcat服务器会根据请求url中的资源路径,创建对应的ServletDemo的对象。 2.tomcat服务器会创建request和response对象,request对象中封装请求消息数据。 3.tomcat将request和response两个对象传递给service方法,并且调用service方法。 4.程序员可以通过request对象获取请求消息数据,通过respon...
2020-05-31 11:59:53 153
原创 web-http
概念:Hyper Text Transfer Protocol超文本传输协议传输协议:定义了,客户端和服务器端通信时,发送数据的格式。特点:1.基于TCP/IP的高级协议2.默认端口号:80http://baidu.com:803.基于请求响应模型的。一次请求对应一次响应。4.无状态的:每次请求之间相互独立。历史版本:1.0:每次请求都新建一个链接,响应后断开链接1.1:复用链接请求消息数据格式:1.请求行请求方式请求url 请求协议/版本G.
2020-05-31 11:50:40 89
原创 web-servlet
servlet:server applet概念:运行在服务器端的小程序。servlet就是一个接口,定义了java类被浏览器访问到(Tomcat识别)的规则。我们自定义一个类,实现Servlet接口,复写方法。快速入门:1.创建Java EE的项目2.定义一个类,必须实现Servlet接口3.实现接口中的抽象方法4.配置Servlet在web.xml中配置servlet<!-- 配置servlet--><servlet><serv
2020-05-31 11:48:29 104
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人