小编Inq*_*ive的帖子

无损图像压缩工具

在公共站点上运行Google Page Speed时,我看到了该工具的一些建议,如下所示:

无损压缩http://g-ecx.images-amazon.com/images/G/01/electronics/detail-page/Acer-120x120._V137848950_.gi可以节省4.8KiB(减少26%),并且还提供了链接最佳化的内容。但是他们会以每个图片为基础。压缩后,我看到文件大小有明显减少。所以问题是:

我是否可以使用任何工具或Web服务,以便为它提供未压缩图像的目录(例如.gif),并返回包含所有压缩图像的图像目录?

我在这里找到了一个与SO有关的问题,但这并不是一个完全相同的问题。

谢谢阅读。

compression imaging image-compression pagespeed

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

在Java中,'this'可以通过哪些方式逃脱?

Stack Overflow上有一个问题,为什么在构造函数中启动一个线程不是一个好主意.我意识到这样的事情的结果将是'this'可以逃脱.我还读到从构造函数发布EventListener也是一个坏主意,出于同样的原因.我应该注意哪些"这个"可以逃脱的其他模式?

java synchronization this

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

组件基础MVC框架和基于动作的MVC框架

您好我使用JSF,这是一个基于组件的MVC框架.我知道很多Web项目都使用Spring作为他们的技术而Spring属于"基于动作的UI框架"类别.我想知道这里的区别是什么?哪一个更先进,为用户提供更多灵活性?一些利弊?

model-view-controller jsf spring-mvc

4
推荐指数
1
解决办法
4158
查看次数

为什么将类称为 RunnableFuture<T> 而不是 CallableFuture<T>?

以下代码来自AbstractExecutorService

 /**
 * Returns a <tt>RunnableFuture</tt> for the given callable task.
 *
 * @param callable the callable task being wrapped
 * @return a <tt>RunnableFuture</tt> which when run will call the
 * underlying callable and which, as a <tt>Future</tt>, will yield
 * the callable's result as its result and provide for
 * cancellation of the underlying task.
 * @since 1.6
 */
 protected <T> RunnableFuture<T> newTaskFor(Callable<T> callable) {
    return new FutureTask<T>(callable);
 }
Run Code Online (Sandbox Code Playgroud)

我不明白为什么返回的对象的类newTaskFor()会被称为 RunnableFuture 而不是 CallableFuture?我在这里错过了什么?

java java.util.concurrent

4
推荐指数
2
解决办法
4378
查看次数

用于以降低黑暗的顺序显示相同颜色的n种不同色调的算法

要求如下:

我们需要将值映射到颜色.所以每个离散值都有一个颜色.

我们允许用户指定maxColor,但NO minColor,但让他们指定代表色调的箱数的数量.因此,如果maxColor选择的是Color.GREENbins= 5,那么我们希望有5个绿色阴影,其中颜色选择为最暗是最暗的,其余四个将按照增加亮度的顺序.

//Give me a list of 5 shades of Green with the first argument being the darkest.
List<Color> greenShades = calculateShades(Color.GREEN,5);

//Give me a list of 7 shades of RED with the first argument being the darkest.
List<Color> greenShades = calculateShades(Color.RED,7);
Run Code Online (Sandbox Code Playgroud)

我将问题标记为Java,因为我在Java中编码.但我知道它只是一个算法.所以在其他语言(如JavaScript)中实现/实现此实现也是可以接受的.

java algorithm rgb colors rgba

4
推荐指数
1
解决办法
4388
查看次数

Object类中的clone()实现

我正在阅读这篇文章而且它说的是

Objectclone方法是非常棘手的.它基于现场副本,而且是"超语言".它创建一个对象而不调用构造函数".

我在grep代码中看到的只有以下几行:

protected native Object clone() throws CloneNotSupportedException;
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

java clone

3
推荐指数
1
解决办法
415
查看次数

为什么编译器无法推断我的方法的返回类型?

这是我的代码.基本上我试图从我的方法返回一个intToEnumMapMap.But编译器不允许这样.为什么编译器不能推断我的方法的返回类型?

  public enum  INVALIDTHRESHOLDSTATE{
        ONE(0,GAUGE_MIN_LOWER_THRESHOLD1_MESSAGE),
        TWO(1,GAUGE_THRESHOLD1_LOWER_THRESHOLD2_MESSAGE),
        THREE(2,GAUGE_THRESHOLD2_LOWER_MAX_MESSAGE);

        private static final Map<Integer,INVALIDTHRESHOLDSTATE> intToEnum = new HashMap<Integer, INVALIDTHRESHOLDSTATE>();
        static {

            int i=0;
            for (INVALIDTHRESHOLDSTATE invalidState : values()){
                i++;
                intToEnum.put(Integer.valueOf(i), invalidState);
            }      
        }

        private int value;
        private String message;

        private INVALIDTHRESHOLDSTATE(int value,String message){
            this.value = value;
            this.message = message;
        }
        public int getValue() {
             return value;
          }
        public String getString() {
             return message;
          }

        // Generic method
        public static <K,V> Map<K,V> intToEnumMap() {
           return intToEnum;  //doesn't compile
                 ^^^^^^^^^
        }


    }
Run Code Online (Sandbox Code Playgroud)

java generics

3
推荐指数
1
解决办法
92
查看次数

为什么不可变类提供了mutators?

请考虑以下代码:

    bdval = new BigDecimal(strval, new MathContext(attrib.getPrecision()));
    bdval.setScale(attrib.getScale(), RoundingMode.HALF_UP);
Run Code Online (Sandbox Code Playgroud)

PMD非常正确地说:

对Immutable的无用操作

那么为什么Immutable类像BigDecimal属性的导出mutators呢?

java immutability bigdecimal

3
推荐指数
1
解决办法
551
查看次数

Page Speed Insights +启用压缩与优化图像

我正在使用Page Speed Insights https://developers.google.com/speed/pagespeed/insights_extensions来分析我们的网络应用的页面加载时间.结果显示启用压缩优化图像高优先级部分下的待办事项.如果我在Web服务器上启用gzip压缩,它会不会同时处理两者?

对于启用压缩" 页面速度说"使用gzip或deflate压缩资源可以减少通过网络发送的字节数."

对于优化图像, Page Speed表示"正确格式化和压缩图像可以节省许多字节的数据." 然后给出如下建议:

无损压缩someImage.jpg 可以节省22.1KiB(减少95%)并且还提供显示优化内容的链接.

我的问题: "优化图像"不是"启用压缩"的子集吗?

javascript performance-testing pagespeed web

2
推荐指数
1
解决办法
3531
查看次数

是什么使得从静态初始化程序初始化对象引用以安全地发布对象?

请考虑以下代码:

   // This code safely publishes the Publishable object
   public static Publishable publishable= new Publishable();
Run Code Online (Sandbox Code Playgroud)

我已经看到了这种发布自定义Publishable对象的方法,我读到这是安全的.我的问题是:

  1. 这是一个真正的安全出版物的方式吗?
  2. 如果1的答案是否定则为什么?如果是,那么还请解释原因?

java multithreading synchronization thread-safety

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