博客

JAX-WS

August 7, 2020
JAX-WS

JAX-WS JAX-WS 代表 Java API for XML Web Service。 WebService @WebService 用来将**某个类(一个 Interface)**声明为一个 Web Service EndPoint,这个类的实现类也得需要声明 @WebService 接口类的方法必须 public,并且不能使用 static 或 final 来修饰 接口类的方法必须声明 @WebMethod 实现类必须有一个默认的 public 构造器 实现类不要定义 finalize 方法 Apache CXF 定义 Endpoint,此处的 endpointInterface 非常重要,指向的是 Interface 类全称。 @WebService(endpointInterface = "com.baeldung.cxf.introduction.Baeldung") public class BaeldungImpl implements Baeldung {} 查看 WSDL 信息 URL 后面往往跟一个 ?wsdl 字符串。 底层数据传输 GET WSDL 发送 POST 请求 接受 POST 响应 阅读更多 java 实现WebService 以及不同的调用方式、JAX-WS Web 服务开发调用和数据传输分析 ...

Oracle

August 7, 2020
Oracle

内置数据类型 分类 数据类型 介绍 字符 CHAR [(size [BYTE | CHAR])] 定长字符串,占据 n 字节 NCHAR[(size)] 定长字符串,占据 2n 字节 VARCHAR2(size) 可变长度的字符串 NVARCHAR2(size) 可变长度的 UNICODE 字符串 数值 NUMBER(p,s) p 代表精度(1 - 38),s 代表 scale (-84 - 127) FLOAT [(p)] 小数,精度不高 LONG 仅仅为了兼容 日期 DATE 大小固定占用 7 bytes TIMESTAMP 字节 RAW(size) 定长 LONG RAW 变长,图像、声音、文档、数组,建议使用 LOB LOB ROWID 伪列 SELECT ROWID from your_table; ROWID 不能被用作主键。 ...

Ant

August 6, 2020
Ant

Ant 官方教程 官方教程链接 Ant Properties 提供一些键值对,使用 ${key} 来获取其 value。官网 列举了很多内置的 properties。 Ant Classpath 定义 classpath: <project name="HelloWorld" basedir="." default="main"> <path id="classpath"> <fileset dir="${lib.dir}" includes="**/*.jar"/> </path> <target name="compile"> <mkdir dir="${classes.dir}"/> <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/> </target> <target name="run" depends="jar"> <java fork="true" classname="${main-class}"> <classpath> <path refid="classpath"/> <path location="${jar.dir}/${ant.project.name}.jar"/> </classpath> </java> </target> </project> Ant Targets Target 是多个 tasks 的容器,这个 Target 用来完成在整个 build 过程中的某个任务,使之达到某个状态。 <target name="A"/> <target name="B" depends="A"/> <target name="C" depends="B"/> <target name="D" depends="C,B,A"/> 调用链: ...

Struts 2

August 6, 2020
Struts

Action 访问 Servlet API 使用 ActionContext 来访问 Servlet API。 Servlet API JSP 对象 HttpServletRequest request HttpSession session ServletContext application 操作 Session: ActionContext.getContext().getSession().put("user", userName); 在 JSP 页面中可以通过 ${sessionScope.user} 来输出userName。 数据校验 ActionSupport 是一个工具类,已经实现了 Action 接口,实现了 Validatable 接口,提供数据校验功能。 @Override public void validate() { if (getUserName() == null || getUserName().trim().equals("")) { addFieldError("username", getText("user.required")); } } struts.xml 配置文件 分为多个配置文件: ...

如何维持缓存的一致性?

May 31, 2020

Phil Karlton 曾经说过,“计算机科学中只有两件困难的事情:缓存失效和命名问题。” 这句话还有其他很好的举例。我个人最喜欢 Jeff Atwood 的一句话:“计算机科学中有两件困难的事情:缓存失效、命名和一个错误就关闭。”显然,缓存是困难的。就像分布式系统中的几乎所有东西一样,它甚至可能一眼就看不清。我将介绍分布式系统中几种常见的缓存方法,这些方法应该涵盖您将使用的绝大多数缓存系统。具体来说,我将关注如何维护缓存一致性。

...

如何改进 NGINX 配置文件节省带宽?

May 24, 2020
Nginx

2014年,Admiral William H. McRaven 在得克萨斯大学发表了著名的演讲,他说,如果你想改变世界,就从整理床铺开始。有时候小事情会有很大的影响——不管是在早上整理床铺,还是对网站的HTTP服务器配置做一些更改。

...

信息的半衰期

May 16, 2020

今天,我想与您讨论一下信息能存活多久的问题,这个问题又会如何影响我们工作的方式。

...

Java 并发 - 锁

May 13, 2017
Java

Java 世界中都有哪些锁?锁的分类?如何减少锁的竞争等问题。

...