小编Ada*_*ent的帖子

让JSPX不要创建自我结束标记(<div> </ div>!= <div />)

JSPX具有转向的可爱副作用:

<div class="magic"></div>
Run Code Online (Sandbox Code Playgroud)

成:

<div class="magic" />
Run Code Online (Sandbox Code Playgroud)

对于许多浏览器而言,即使它是有效的XHTML,也会导致布局混乱和混乱.因此,我使用了一个groovy脚本来查找所有可能的错误的HTML与以下正则表达式:

def m = html =~ /<(\w+)[^>]*?><\/(\w+)>/
def bad = m.findAll { it[1] == it[2]  };
Run Code Online (Sandbox Code Playgroud)

有没有办法让JSPX XML处理器不自动关闭标签?

java xml groovy jspx

6
推荐指数
2
解决办法
2387
查看次数

Java Compact Profiles会真正减少内存占用吗?

我对Java类加载的理解是它的延迟加载。因此,如果Java应用程序附带了一堆未使用的jar,它们只会浪费磁盘空间,而不会真正消耗内存。但是,在各种Oracle博客/文档中似乎都暗示着紧凑的配置文件实际上会减少内存占用(此处此处)。

为了使其简单易行,是的,不是主观的问题:

如果我做一个“世界你好!” Java应用程序(即仅使用System.out)在由compact1概要文件而不是完整的SE运行时,实际上会具有较小的运行时内存足迹吗?(我自己会对此进行测试,但无法编译紧凑的配置文件)。

java

6
推荐指数
1
解决办法
281
查看次数

Java与Golang的WaitGroup等效

Golang有一种叫做a的东西WaitGroup,类似于Java中的a CompletionService或a CountDownLatch或a Semaphore或后者的某种组合。

我不完全确定如何在Java中实现WaitGroup。我可以想象一个带有某种Poison消息的自定义CompletionService将成为要走的路(因为队列不能说何时完成),但是也许有更好的并发数据结构/锁?

编辑我在下面发布了一个可能的解决方案Semaphore,我认为它比使用更加类似thread.join

java go

6
推荐指数
2
解决办法
2088
查看次数

在Linux上,人们是否chroot Java Web应用程序或使用IPTables并以非root身份运行?

当您运行要在端口80上同时提供静态和动态内容的Java Servlet容器时,您会遇到是否运行服务器的经典问题:

  1. 如果可以的话,有希望成为chroot监狱的根本(还没有得到这个工作)
  2. 作为非root用户,然后使用IPTables将端口80转发到容器正在运行的其他端口(> 1024)
  3. 两者:作为非root用户,IPTables和chroot jail.

选择的问题.1是chrooting的复杂性,仍然是运行root的安全问题.选择的问题.2是每个Linux发行版都有不同的持久化IPTables的方式.选项3当然可能是想法,但很难设置.

最后,每个发行版都有守护脚本中令人讨厌的差异.

人们发现什么是最好的发动机不可知解决方案,是否有资源来展示如何做到这一点?

编辑:我宁愿不在servlet容器前运行Apache,因为该站点主要是动态的,总内存占用很重要(托管成本).

java linux security webserver chroot

5
推荐指数
1
解决办法
1699
查看次数

.NET等效的Java工具和库

所以我几乎是一名Java程序员,但我在周末玩F#.我在.NET中最困难的部分之一是尝试找到与Java中的某些工具或库相同的东西.

当然,我可以谷歌相当于每个工具,但我宁愿在一个地方看到每个工具的并排等效.我也想知道哪一个是首选或通常最流行的等效工具/库.

这是我到目前为止:

Java ====> .NET

IDE: Eclipse ===> Visual Studio

持续整合: 哈德森===>不确定.

命令行构建: Maven和Ant ===> NAnt和Bylan我想?

XML序列化: JAXB ==>一些.NET本机的东西

JSON序列 SF JSON-LIB ==> ???

ORM: Hibernate ==> LINQ或NHibernate

依赖注入: Spring和Guice ===>我认为有.NET Spring

Servlet容器或Web服务器: Tomcat,Jetty,这么多===>告诉我不仅仅是IIS ..

单元测试框架: JUnit,TestNG ==>我认为NUnit和XUnit

模拟库: Mockito,JMock,EasyMock ===> ???

GUI: Swing ==> Win Forms我认为???

AOP: AspectJ ==>看起来你需要付出昂贵的代价.

.net java libraries

5
推荐指数
1
解决办法
2380
查看次数

如何使用没有反射的编程语言来干燥?

任何编程语言都没有合适的反射机制,我发现它对于快速变化的问题非常不利.

对某些语言而言似乎难以置信或难以做到:

  • 约定优于配置
  • 自动数据绑定
  • AOP/Meta编程

没有反思.

一些没有某种程序反射的示例语言是: C,C++,Haskell,OCaml.我相信还有更多.

为了向您展示大多数这些语言可能违反DRY(不要重复自己)的例子,那就是您必须编写单元测试.您几乎总是需要在定义测试之外的这些语言中注册测试用例.

这些语言的程序员如何缓解这个问题?

编辑:对那些不知道的人有反射的常用语言有:C#,Java,Python,Ruby,以及我个人最喜欢的F#和Scala.

编辑:它似乎是两种常见的方法是代码检测和代码生成.但是我从未见过C的仪器.

有些人可以评论为什么要关闭它,而不仅仅是投票结束,我将删除帖子.

c reflection aop dry

5
推荐指数
1
解决办法
846
查看次数

将现有JMS库与AMQP代理(RabbitMQ)一起使用

我们将RabbitMQ和Spring-AMQP用于我们的消息传递系统.

但是,有许多Java库使用JMS,我宁愿不重写到AMQP.

我没有使用谷歌的JMS客户端将使用AMQP.

我应该只重写库以直接使用AMQP吗?

spring jms amqp rabbitmq

5
推荐指数
1
解决办法
2236
查看次数

在Eclipse项目中混合AspectJ和Scala

任何人都能够在Eclipse 3.6中将Scala和AspectJ(AJDT)完美地结合在一起吗?

似乎Scala的织布工与AspectJ的织布工冲突.我希望我只是遗漏了一些东西.

编辑:在同一个项目中很好地玩

java eclipse scala aspectj

5
推荐指数
1
解决办法
1616
查看次数

曾经使用RabbitMQ和Node.js进行长时间的运行吗?

我正在尝试理解在Node.js中处理长时间运行任务的最佳方法.显然在Node.js中执行一个长时间运行的过程并不是一个好主意,因为节点的单线程特性.

我是RabbitMQ的忠实粉丝所以我想在两个节点服务器之间使用兔子:

Node.js Web Server <--> RabbitMQ <--> Node.js Backend Worker
Run Code Online (Sandbox Code Playgroud)

当然,我们的想法是不要放慢Web服务器的速度.我通常会用Java替换后端服务器,但我试图将它全部保留为JS.

我不是Node程序员所以我不确定这是一个好主意还是可能?有没有人尝试过这样的东西?

rabbitmq node.js

5
推荐指数
1
解决办法
981
查看次数

配置logback以遵循Java配置,即简单的Java Logback配置

我只是不喜欢Logback的XML或Groovy配置,并且更喜欢用Java进行配置(这也是因为我将在初始化后的不同时间在运行时更改配置).

似乎进行Logback的Java配置的唯一方法是进行某种初始化,即劫持根appender或拥有自定义系统属性,告诉logback不使用默认配置(这对单元测试和部署来说相当烦人).

我更喜欢的是logback.xml:

<configuration javaConfig="com.myco.LogBackConfig" /> 
Run Code Online (Sandbox Code Playgroud)

其中LogbackConfig有一些已建立的静态方法可以进行logback调用,或者它只是重新实例化一个Java bean.

这是我想要一个默认的类路径资源,它将告诉logback使用Java而不是groovy/xml.基本上我想要一些类似于Java ServiceLoader的logback配置.

也许有一种方法可以在Logback中做到这一点,我错过了?

更新: 显然Log4j2(新的log4j)完全符合我的要求,与Java ServiceLoader非常相似.

java logging logback slf4j log4j2

5
推荐指数
1
解决办法
2852
查看次数

标签 统计

java ×7

rabbitmq ×2

.net ×1

amqp ×1

aop ×1

aspectj ×1

c ×1

chroot ×1

dry ×1

eclipse ×1

go ×1

groovy ×1

jms ×1

jspx ×1

libraries ×1

linux ×1

log4j2 ×1

logback ×1

logging ×1

node.js ×1

reflection ×1

scala ×1

security ×1

slf4j ×1

spring ×1

webserver ×1

xml ×1