Tips: J2EE篇

本文介绍了Java编程语言的实用技巧,包括无main方法的程序、动态数组大小设定、类成员变量初始化、Rational Rose代码自动生成等内容,并涉及了HTML、IIS权限设置、Eclipse配置等Web开发相关知识。

本篇包含有除J2EE技术外其有关他网站开发的内容。

tip一个没有main方法的"Hello, World!"java程序
public class Hello
{
static
{
System.out.println("Hello, World!");
System.exit(0);
}
}

tipJava允许运行时确定数组的大小
1. int actualSize = ...;
Employee[] staff = new Employee[actualSize];
2. 使用ArrayList
List rv = new ArrayList();
rv.add(...);

(此例中List是一个接口,ArrayList是实现该接口的Java泛型类)

tipJava类成员变量的初始化

对于Java类成员变量的初始化我们可以采用“规定初始化”、“构造函数初始化”两种方式。而Java编译器保证任何成员变量在构造函数被调用之前已经被初始化,构造函数的初始化,只是对规定初始化的一个覆盖而已。同样对于静态成员变量也是一样的。

tipRational Rose代码自动生成

一般会为一个包图生成一个目录,为一个组件生成一个.java文件,其中包含该组件中的各个类,如果类没有显示地属于某个组件,则Rose会自动为该类生成一个组件,即该类的声明和实现在单独的一个.java文件中。

tiphtml

<div>和<img>之间的空格三大浏览器均忽略。<img>和<img>之间的空格三大浏览器均显示。<img>和</div>之间的空格只有IE显示。

tipWindows IIS权限设置

网站目录如果在 NTFS 分区(推荐用这种)的话,还需要对 NTFS 分区上的这个目录设置相应权限,许多地方都介绍设置 everyone 的权限,实际上这是不好的,其实只要设置好 Internet 来宾帐号(IUSR_xxxxxxx)或 IIS_WPG 组的帐号权限就可以了。如果是设置 ASP、PHP 程序的目录权限,那么设置 Internet 来宾帐号的权限,而对于 ASP.NET 程序,则需要设置 IIS_WPG 组的帐号权限。
注意不在iis版面设置相应权限都可以的。

tipEclipse配置

Eclipse根目录下的eclipse.ini文件可以设置启动程序的内存大小;或者在快捷方式\属性\目标后加 -vmargs -Xms100M -Xmx250M.

tipMyEclipse taglib映射配置

MyEclipse的taglib映射信息并不在web.xml中,而是直接在WEB-INF目录下的tld文件里,只要在该文件中加入<uri>...</uri>元素来表明taglib映射即可。

tip...

EL表达式${attribute_name.property}与<jsp:getProperty>是等价的,EL解释器会在4个作用域中搜索到一个命名属性,然后“.”操作符将导致一个getXX()调用。
古怪的是,property变量命名必须以小写字母开头,否则getXX()的调用将不会成功,容器返回一个property无法找到的错误。

tip解决JSP开发Web程序中的中文问题
方法一: 最简单也是用的最多的方法;
<%@ page language="java" pageEncoding="GBK" %>或者<%@ page contenttype="text/html;charset=gbk";>
方法二: 使用过滤器;
方法三: 修改tomcat的server.xml文件中URIEncoding.

tip...
javascript变量名不能以数字结尾。

tipAjax XMLHttpRequest中文传参乱码问题

最靠谱的解决方案: http://fastwind.javaeye.com/blog/201970

根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理和总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),和各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的一些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)的一个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为四种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)和任务目标,我们可以将机器学习方法分为四种: 无监督(unsupervised) 训练数据没有给定...
Apache RocketMQ 是一个分布式消息系统,具有高吞吐量、低延迟和高可靠性的特点。它最初由阿里巴巴开发,后来成为Apache软件基金会的顶级项目。RocketMQ 适用于大规模消息处理场景,如日志收集、事件通知、流式数据处理等。 Spring Tips: 使用 Spring Boot 集成 Apache RocketMQ 1. **添加依赖**:首先,在项目的 `pom.xml` 文件中添加 RocketMQ 的 Starter 依赖。 ```xml <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> ``` 2. **配置属性**:在 `application.properties` 或 `application.yml` 文件中配置 RocketMQ 的相关属性,例如 NameServer 地址。 ```properties spring.rocketmq.name-server=127.0.0.1:9876 spring.rocketmq.producer.group=myProducerGroup ``` 3. **创建生产者**:通过注入 `RocketMQTemplate`,可以轻松地发送消息。 ```java import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class MessageController { @Autowired private RocketMQTemplate rocketMQTemplate; @GetMapping("/send") public String sendMessage() { rocketMQTemplate.convertAndSend("TopicTest", "Hello, RocketMQ!"); return "Message sent!"; } } ``` 4. **创建消费者**:通过实现 `RocketMQListener` 接口来接收消息。 ```java import org.apache.rocketmq.spring.annotation.ConsumeMode; import org.apache.rocketmq.spring.annotation.MessageModel; import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; import org.apache.rocketmq.spring.core.RocketMQListener; import org.springframework.stereotype.Service; @Service @RocketMQMessageListener(topic = "TopicTest", consumerGroup = "myConsumerGroup", consumeMode = ConsumeMode.ORDERLY, messageModel = MessageModel.CLUSTERING) public class MessageConsumer implements RocketMQListener<String> { @Override public void onMessage(String message) { System.out.println("Received message: " + message); } } ``` 5. **运行应用**:启动 Spring Boot 应用,访问 `/send` 端点发送消息,并在控制台查看消费者接收到的消息。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值