<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Java那些事]]></title><description><![CDATA[传递和汇聚阿里等顶尖企业专家的Java基础、Java进阶技术干货与程序人生成长心得]]></description><link>https://blog.youkuaiyun.com/Bryans</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Bryans]]></copyright><item><title><![CDATA[RK3568上运行鸿蒙3.1Release]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/127157660</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/127157660</guid><author>Bryans</author><pubDate>Mon, 03 Oct 2022 23:29:05 +0800</pubDate><description><![CDATA[编译和下载鸿蒙img的过程及可能碰到的问题。]]></description><category></category></item><item><title><![CDATA[阿里干货课堂丨Redis连接池的相关问题分析与总结]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/81180978</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/81180978</guid><author>Bryans</author><pubDate>Tue, 24 Jul 2018 11:06:26 +0800</pubDate><description><![CDATA[
问题表象：服务端连接未释放



问题背景：商品系统在运行过程中发生过一次Redis服务端连接数超限的问题。截图未保存，表现是：商品服务停掉，但RedisServer端看到的TCP连接任然存在，而且是 ESTABLISHED状态，导致的直接结果就是每次商品重启都会创建400个（minIdle=400）新的redis连接，而且停止的时候还不释放，重启几次之后RedisServer的连接就超过上限1...]]></description><category></category></item><item><title><![CDATA[阿里干货课堂丨Websocket 探究]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/81065370</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/81065370</guid><author>Bryans</author><pubDate>Mon, 16 Jul 2018 15:03:06 +0800</pubDate><description><![CDATA[WebSocket： 基于 HTML5 的一种浏览器与服务器之间的即时通讯解决方案(基于 TCP 连接的双向通道)；Java容器支持：目前只支持 jetty 和 tomcat。应用场景：即时通讯（网页游戏[双向异步消息模式]，网页聊天，微博等）一、概念区分：HTTP 协议 与 TCP 协议区别：HTTP协议是应用层协议，是用于www浏览的一个协，应用层协议包括HTTP协议，TELNET协议，Web...]]></description><category></category></item><item><title><![CDATA[Java基础 之 序列化与反序列化]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/81065332</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/81065332</guid><author>Bryans</author><pubDate>Mon, 16 Jul 2018 15:01:07 +0800</pubDate><description><![CDATA[为什么需要对象序列化解决Java对象在网络上传输和Java对象持久化的问题。序列化将对象转换为二进制流，然后在网络上传输，当抵打目的后在反序列化为Java对象。什么是Java对象序列化Java平台允许我们在内存中创建可复用的Java对象，但一般情况下，只有当JVM处于运行时，这些对象才可能存在，即，这些对象的生命周期不会比JVM的生命周期更长。但在现实应用中，就可能要求在JVM停止运行之后能够保存...]]></description><category></category></item><item><title><![CDATA[Java基础 之 集合]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/81065138</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/81065138</guid><author>Bryans</author><pubDate>Mon, 16 Jul 2018 14:59:05 +0800</pubDate><description><![CDATA[Java 中的广义集合分两大类：Collection 和 Map。Set : 成员不能重复HashSet: 外部无序地遍历成员；覆盖了equals方法，注意修改hashCode方法。 TreeSet：外部有序地遍历成员；成员要求实现caparable接口，或者使用 Comparator构造TreeSet。 LinkedHashSet：外部按成员的插入顺序遍历成员。List：提供基于索引对成员随机访...]]></description><category></category></item><item><title><![CDATA[阿里干货课程 丨怎么编写用户注册/登录服务]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/81064764</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/81064764</guid><author>Bryans</author><pubDate>Mon, 16 Jul 2018 14:50:39 +0800</pubDate><description><![CDATA[看似简单的注册登录功能，如果想考虑完善，并且做到极致体验和良好的安全性，并不是一件容易的事情。本篇文章就结合我们公司的登录体系来分析一下怎么去做好一个用户注册与登录功能。密码设置与传输用户在注册的时候最好对密码的强度做验证，防止弱密码。其次切记不能将密码明文传输，一般的做法是前对对密码做一次Md5加密，后端再做一次Md5加密然后出到DB中。请求参数签名与验签现在主流的开发模式是前后端分离，那么前端...]]></description><category></category></item><item><title><![CDATA[Lock wait timeout exceeded; try restarting transaction]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/81003594</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/81003594</guid><author>Bryans</author><pubDate>Wed, 11 Jul 2018 17:02:09 +0800</pubDate><description><![CDATA[排查过程：查看数据库 INNODB_LOCKS，未发现有死锁的记录。 查看 SHOW PROCESSLIST; 也未见异常进程； 通过Mysql的控制台，查询慢日志，也未找到有关此表的Mysql慢日志信息。 查询Mysql默认的所等待超时时间： show variables like ‘innodb_lock_wait_timeout’; Variable_name Value innodb_lo...]]></description><category></category></item><item><title><![CDATA[Angularjs的$apply及其优化使用]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/81003350</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/81003350</guid><author>Bryans</author><pubDate>Wed, 11 Jul 2018 16:58:42 +0800</pubDate><description><![CDATA[今天，我们要聊得是Angularjs中的小明星$apply。当我们数据更新了，但是view层却没反应时，总能听到有人说，用apply吧，然后，懵懂无知的我们，在赋值代码后面加了$scope.$apply(),然后就惊喜的发现。噢，真的更新了。然而，有些时候，编译器会无情的给你返回Error: $digest already in progress那么，导致这些现象的原因时什么的呢？$apply究竟...]]></description><category></category></item><item><title><![CDATA[HTTP学习笔记（一）之初探]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/80895026</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/80895026</guid><author>Bryans</author><pubDate>Tue, 03 Jul 2018 10:48:41 +0800</pubDate><description><![CDATA[1http概念HTTP协议（HyperText Transfer Protocol，超文本传输协议）是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效，使网络传输减少。它不仅保证计算机正确快速地传输超文本文档，还确定传输文档中的哪一部分，以及哪部分内容首先显示(如文本先于图形)等。2http特征http是应用层协议，由请求和响应构成，支持客户/服务器模式。http是一个无...]]></description><category></category></item><item><title><![CDATA[数据库外键基础知识和操作（世界杯版）]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/80880650</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/80880650</guid><author>Bryans</author><pubDate>Mon, 02 Jul 2018 10:01:33 +0800</pubDate><description><![CDATA[在数据库的操作中，外建是很常见的操作。近期花了一些时间学习外键，整理学习笔记。外键说明以一个例子来说明外键。正值俄罗斯世界杯期间，32支国家队比赛精彩异常，其中巨星球星毫无疑问：C罗、梅西、内马尔。这里有两张表：表A，其中姓名是主键。主键：为了保证数据的完整性和唯一性，每一个表能够唯一代表该表的字段，不会出现重复。例如身份证ID号。表中运动员姓名也基本上没有重名，在表A中能够作为唯一标示。表B：其...]]></description><category></category></item><item><title><![CDATA[Java 数据库连接(dataSource)的演进]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/80855634</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/80855634</guid><author>Bryans</author><pubDate>Fri, 29 Jun 2018 13:46:09 +0800</pubDate><description><![CDATA[原生方法加载JDBC 驱动：Class.forName(driver);// mysql 数据库：“com.mysql.jdbc.Driver”建立数据库连接：Connection conn=DriverManager.getConnection(url,userName,password);创建 statement，用来执行SQL 语句：Statement statement =conn.cre...]]></description><category></category></item><item><title><![CDATA[Java基础 之 类的加载与对象初始化]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/80839499</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/80839499</guid><author>Bryans</author><pubDate>Thu, 28 Jun 2018 10:33:26 +0800</pubDate><description><![CDATA[类的加载基本原理：所有类都由类装载器载入，载入内存中的类对应一个 java.lang.Class 实例。 已被加载的类由该类的类加载器实例与该类的全路径名的组合标识。设有 packagename.A Class ，分别被类加载器 CL1 和 CL2 加载，则系统中有两个不同的 java.lang.Class 实例： &amp;lt;CL1, packagename.A&amp;gt; 和 &amp;lt;CL2, pac...]]></description><category></category></item><item><title><![CDATA[Java基础 之 枚举类型]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/80830383</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/80830383</guid><author>Bryans</author><pubDate>Wed, 27 Jun 2018 15:47:34 +0800</pubDate><description><![CDATA[枚举类型的常见使用场景：枚举类型 作为 错误码集合：定义的枚举 属性都是 枚举类型，这个枚举类型每一个错误会对应一个错误信息；使用 枚举类型enum 构建一个状态机：利用enum可以为枚举实例添加方法的特性,可以构造状态机。packageenumeration;publicclassPerson{  //自己有一个状态  privateState s;  publicPerson(State s)...]]></description><category></category></item><item><title><![CDATA[Java基础 之 super 和 this]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/80828041</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/80828041</guid><author>Bryans</author><pubDate>Wed, 27 Jun 2018 15:40:31 +0800</pubDate><description><![CDATA[super的定义：The super keyword enables a subclass to call the methods and fields of its superclass. It is not an instance of the superclass object but a way to tell the compiler which methods or fields to...]]></description><category></category></item><item><title><![CDATA[3分钟课堂丨Java基础 之 final 和 static]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/80800845</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/80800845</guid><author>Bryans</author><pubDate>Mon, 25 Jun 2018 13:49:28 +0800</pubDate><description><![CDATA[finalfinal的变量当你在类中定义变量时，在其前面加上final关键字，那便是说，这个变量一旦被初始化便不可改变，这里不可改变的意思对基本类型来说是其值不可变，而对于对象变量来说其引用不可再变。其初始化可以在两个地方：一是其定义处，也就是说在final变量定义时直接给其赋值。二是在构造函数中。这两个地方只能选其一，要么在定义时给值，要么在构造函数中给值，不能同时既在定义时给了值，又在构造函数...]]></description><category></category></item><item><title><![CDATA[阿里干货课堂丨Android 之 Listview]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/80800683</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/80800683</guid><author>Bryans</author><pubDate>Mon, 25 Jun 2018 13:35:50 +0800</pubDate><description><![CDATA[LisView显示的三要素1:  ListView，用来展示列表   2：Adapter，用来存在数据&amp;amp;将数据与视图进行绑定3：数据，将被映射的字符串、图片url等等。关于Adapter ，请参考 Android 之 Adapter。ListView的工作原理Adapter的作用就是ListView界面与数据交互的桥梁，当列表里面每一项显示到页面上时，都会调用Adapter的getView...]]></description><category></category></item><item><title><![CDATA[阿里干货课堂丨Android 高效的 Layout]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/80770148</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/80770148</guid><author>Bryans</author><pubDate>Fri, 22 Jun 2018 10:28:16 +0800</pubDate><description><![CDATA[我们知道随着我们业务越来越负责，UI布局也会越来越复杂，大量的布局信息必定会带来一定的性能损耗，那么我们怎么才能写出高效的布局呢？1.使用&amp;lt;include&amp;gt; &amp;lt;merge&amp;gt;&amp;lt;viewStub&amp;gt;标签。 2.LinearLayout中减少使用layout_weight参数，因为使用此属性会导致子元素被测量两次。3.学会测量Layout的层次结构,优化布局 。4.使得...]]></description><category></category></item><item><title><![CDATA[阿里干货课堂丨Task混用ThreadPool导致无限等待]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/80769869</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/80769869</guid><author>Bryans</author><pubDate>Fri, 22 Jun 2018 10:14:10 +0800</pubDate><description><![CDATA[现象生产环境商品打标异步任务提交任务后，任务没有被执行；查看日志，没有异常日志抛出。初步判断可能是队列出现了饱和或者死锁，但是如果出现了饱和，我们设置的线程池设置的饱和策略是通过主线程去执行，为什么主线程也没有执行呢？具体分析我定义了一个线程池Pool-Z，core_size=5,max_size=20,queue_size=1000，第一个任务A提交后，占用一个线程，那么这个任务A又会被分解成多...]]></description><category></category></item><item><title><![CDATA[经典职场干货丨刚踏入职场的程序员（2年以内初级程序员）如何快速踏实地提升自己的能力]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/80732812</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/80732812</guid><author>Bryans</author><pubDate>Tue, 19 Jun 2018 13:49:39 +0800</pubDate><description><![CDATA[今天我们不讲面试经验，而是讲如何一步一个脚印地提升自己的能力。本文主要是针对Java后端开发。  1不能光有决心，一定得多用时间学习我见过不少程序员一点点从初级升到资深开发，少得用1年半，多的用3年，成功完成升级的都有一个共同点：进步得靠学习，学习得靠时间堆砌。我个人不算聪明，所以我对曾国藩的一句话体会很深：结硬寨，打呆仗。用在学习上，就是不投机取巧，学习时为自己，踏实地掌握基本功，然后一步一个脚...]]></description><category></category></item><item><title><![CDATA[阿里工作中常见问题答疑丨记一次系统Dubbo调用超时的故障]]></title><link>https://blog.youkuaiyun.com/Bryans/article/details/80702276</link><guid>https://blog.youkuaiyun.com/Bryans/article/details/80702276</guid><author>Bryans</author><pubDate>Fri, 15 Jun 2018 10:49:35 +0800</pubDate><description><![CDATA[现象：生产环境用户无法使用下单，订单无法交易。异常日志：分析:发现订单调用商品的API超时了，登陆商品系统并没有发现任何的异常调用，感觉订单的系统调用并没有抵达商品系统，后来陆续发现订单访问其他系统的Dubbo调用都超时了，由此可断定可能是订单系统的问题。首先想到的是数据库的链接数，查看RDS的连接数：可以看到，15点开始，总连接数开始飙升，并且临近最大值480(但是一直没到最大值480)，但是活...]]></description><category></category></item></channel></rss>