<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u014543166的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u014543166</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u014543166]]></copyright><item><title><![CDATA[基于CXF的webservice拦截器]]></title><link>https://blog.youkuaiyun.com/u014543166/article/details/127652458</link><guid>https://blog.youkuaiyun.com/u014543166/article/details/127652458</guid><author>u014543166</author><pubDate>Wed, 02 Nov 2022 16:12:57 +0800</pubDate><description><![CDATA[CXF webservice 拦截器 定制报文格式]]></description><category></category></item><item><title><![CDATA[eureka 单机 示例]]></title><link>https://blog.youkuaiyun.com/u014543166/article/details/123292902</link><guid>https://blog.youkuaiyun.com/u014543166/article/details/123292902</guid><author>u014543166</author><pubDate>Sat, 05 Mar 2022 13:02:43 +0800</pubDate><description><![CDATA[1，在Idea中新建maven工程，工程名称eureka，删除src，target目录

pom文件如下：


&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://ma]]></description><category></category></item><item><title><![CDATA[spring aop 示例]]></title><link>https://blog.youkuaiyun.com/u014543166/article/details/122914135</link><guid>https://blog.youkuaiyun.com/u014543166/article/details/122914135</guid><author>u014543166</author><pubDate>Sun, 13 Feb 2022 21:22:34 +0800</pubDate><description><![CDATA[在idea新建maven工程

pom文件如下：


&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http]]></description><category></category></item><item><title><![CDATA[java 代理（静态代理，JDK代理，CGLIB代理）]]></title><link>https://blog.youkuaiyun.com/u014543166/article/details/122899746</link><guid>https://blog.youkuaiyun.com/u014543166/article/details/122899746</guid><author>u014543166</author><pubDate>Sat, 12 Feb 2022 17:57:12 +0800</pubDate><description><![CDATA[代理模式
代理模式是常用的java设计模式，他的特征是代理类与委托类有同样的接口，代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类，以及事后处理消息等。代理类与委托类之间通常会存在关联关系，一个代理类的对象与一个委托类的对象关联，代理类的对象本身并不真正实现服务，而是通过调用委托类的对象的相关方法，来提供特定的服务。
按照代理的创建时期，代理类可以分为两种。
静态代理：由程序员创建或特定工具自动生成源代码，再对其编译。在程序运行前，代理类的.class文件就已经存在了。
动态代理：...]]></description><category></category></item><item><title><![CDATA[数据库设计开发规范]]></title><link>https://blog.youkuaiyun.com/u014543166/article/details/122896154</link><guid>https://blog.youkuaiyun.com/u014543166/article/details/122896154</guid><author>u014543166</author><pubDate>Sat, 12 Feb 2022 14:23:13 +0800</pubDate><description><![CDATA[1.1建表规约

1.表名、字段名必须使用小写字母、下划线；表名不使用复数名词,表名命名 t_模块名_XXXX。

正例： 表：t_basedata_user_info

反例： GetterAdmin， taskConfig，

说明： 表名应该仅仅表示表里面的实体内容，不应该表示实体数量，对应于 DO 类名也是单数形式，符合表达习惯。


2.视图必须使用小写字母、下划线；视图命名 v_模块名_XXXX。

正例： 视图：v_sett_transinfo

反例： v_sett_name3


...]]></description><category></category></item><item><title><![CDATA[java 注释规范]]></title><link>https://blog.youkuaiyun.com/u014543166/article/details/122895830</link><guid>https://blog.youkuaiyun.com/u014543166/article/details/122895830</guid><author>u014543166</author><pubDate>Sat, 12 Feb 2022 13:58:28 +0800</pubDate><description><![CDATA[1. 【强制】 类、类属性、类方法的注释必须使用 Javadoc 规范，使用/**内容*/格式，不得使用//xxx 方式。

说明： 在 IDE 编辑窗口中， Javadoc 方式会提示相关注释，生成 Javadoc 可以正确输出相应注释； 在 IDE 中，工程调用方法时，不进入方法即可悬浮提示方法、参数、返回值的意义，提高阅读效率。

2. 【强制】所有的抽象方法（ 包括接口中的方法） 必须要用 Javadoc 注释、除了返回值、参数、异常说明外，还必须指出该方法做什么事情，实现什么功能。

说明： 对子]]></description><category></category></item><item><title><![CDATA[java 控制语句规范]]></title><link>https://blog.youkuaiyun.com/u014543166/article/details/122895824</link><guid>https://blog.youkuaiyun.com/u014543166/article/details/122895824</guid><author>u014543166</author><pubDate>Sat, 12 Feb 2022 13:57:55 +0800</pubDate><description><![CDATA[1. 【强制】在一个 switch 块内，每个 case 要么通过 break/return 等来终止，要么注释说明程序将继续执行到哪一个 case 为止； 在一个 switch 块内，都必须包含一个 default 语句并且放在最后，即使它什么代码也没有。
2. 【强制】在 if/else/for/while/do 语句中必须使用大括号，即使只有一行代码，避免使用下面的形式： if (condition) statements;
3. 【推荐】推荐尽量少用 else， if-else 的方式可以改写成：
]]></description><category></category></item><item><title><![CDATA[java 并发处理规范]]></title><link>https://blog.youkuaiyun.com/u014543166/article/details/122895812</link><guid>https://blog.youkuaiyun.com/u014543166/article/details/122895812</guid><author>u014543166</author><pubDate>Sat, 12 Feb 2022 13:57:12 +0800</pubDate><description><![CDATA[1. 【强制】 获取单例对象需要保证线程安全，其中的方法也要保证线程安全。

说明： 资源驱动类、工具类、单例工厂类都需要注意。

2. 【强制】创建线程或线程池时请指定有意义的线程名称，方便出错时回溯。

正例：
public class TimerTaskThread extends Thread {
 public TimerTaskThread(){
 super.setName("TimerTaskThread"); ...
 }

3. 【强制】线程资源必须通过线程池提供...]]></description><category></category></item><item><title><![CDATA[java集合应用规范]]></title><link>https://blog.youkuaiyun.com/u014543166/article/details/122895804</link><guid>https://blog.youkuaiyun.com/u014543166/article/details/122895804</guid><author>u014543166</author><pubDate>Sat, 12 Feb 2022 13:56:26 +0800</pubDate><description><![CDATA[1. 【强制】 关于 hashCode 和 equals 的处理，遵循如下规则：

1） 只要重写 equals，就必须重写 hashCode。
2） 因为 Set 存储的是不重复的对象，依据 hashCode 和 equals 进行判断，所以 Set 存储的对象必须重写这两个方法。
3） 如果自定义对象做为 Map 的键，那么必须重写 hashCode 和 equals。
正例： String 重写了 hashCode 和 equals 方法，所以我们可以非常愉快地使用 String 对象作为 key 来]]></description><category></category></item><item><title><![CDATA[java OOP 规范]]></title><link>https://blog.youkuaiyun.com/u014543166/article/details/122895774</link><guid>https://blog.youkuaiyun.com/u014543166/article/details/122895774</guid><author>u014543166</author><pubDate>Sat, 12 Feb 2022 13:55:17 +0800</pubDate><description><![CDATA[1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法，无谓增加编译器解析成本，直接用类名来访问即可。
2. 【强制】所有的覆写方法，必须加@Override 注解。

反例： getObject()与 get0bject()的问题。一个是字母的 O，一个是数字的 0，加@Override
可以准确判断是否覆盖成功。另外，如果在抽象类中对方法签名进行修改，其实现类会马上编译报错。

3. 【强制】相同参数类型，相同业务含义，才可以使用 Java 的可变参数，避免使用 Object。

说明： 可]]></description><category></category></item><item><title><![CDATA[java编程格式规范]]></title><link>https://blog.youkuaiyun.com/u014543166/article/details/122894981</link><guid>https://blog.youkuaiyun.com/u014543166/article/details/122894981</guid><author>u014543166</author><pubDate>Sat, 12 Feb 2022 12:35:18 +0800</pubDate><description><![CDATA[1. 【强制】大括号的使用约定。如果是大括号内为空，则简洁地写成{}即可，不需要换行； 如果是非空代码块则：

1） 左大括号前不换行。
2） 左大括号后换行。
3） 右大括号前换行。
4） 右大括号后还有 else 等代码则不换行； 表示终止右大括号后必须换行。

2. 【强制】 左括号和后一个字符之间不出现空格； 同样，右括号和前一个字符之间也不出现空格。详见第 5 条下方正例提示。
3. 【强制】 if/for/while/switch/do 等保留字与左右括号之间都必须加空格。
4. 【强制】任何运]]></description><category></category></item><item><title><![CDATA[java常量定义规范]]></title><link>https://blog.youkuaiyun.com/u014543166/article/details/122894940</link><guid>https://blog.youkuaiyun.com/u014543166/article/details/122894940</guid><author>u014543166</author><pubDate>Sat, 12 Feb 2022 12:29:44 +0800</pubDate><description><![CDATA[1. 不允许出现任何魔法值（ 即未经定义的常量） 直接出现在代码中。

反例： String key="Id#taobao_"+tradeId；
cache.put(key, value);

2. long 或者 Long 初始赋值时，必须使用大写的 L，不能是小写的 l，小写容易跟数字1 混淆，造成误解。

说明： Long a = 2l; 写的是数字的 21，还是 Long 型的 2?

3. 不要使用一个常量类维护所有常量，应该按常量功能进行归类，分开维护。

如：缓存相关的常量放在类： Cache]]></description><category></category></item><item><title><![CDATA[java通用编程规范]]></title><link>https://blog.youkuaiyun.com/u014543166/article/details/122894751</link><guid>https://blog.youkuaiyun.com/u014543166/article/details/122894751</guid><author>u014543166</author><pubDate>Sat, 12 Feb 2022 12:26:16 +0800</pubDate><description><![CDATA[1 命名规范

1.1 命名均不能以下划线或美元符号开始，也不能以下划线或美元符号结束

反例： _name / __name / $Object / name_ / name$ / Object$

1.2 命名严禁使用拼音与英文混合的方式，更不允许直接使用中文

反例： DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3

正例： alibaba / taobao / youku / hangzhou 等国际通用的名称， 可视同英文

]]></description><category></category></item></channel></rss>