小编Sup*_*tar的帖子

Java数据存储优化选项

我一直在考虑用Java优化我最新的两种数据存储技术,并且想知道哪种内存效率最高.以下是这两个类的描述.为了便于论证,假设它们具有与数据接口相同的方法,允许用户通过以下方法单独或按范围获取或设置任何位的状态:

  • public boolean getBitState(byte bitIndex)
    • 检测并返回索引处的位状态 bitIndex
  • public Clazz setBitState(byte bitIndex, boolean newState)
    • 将index位置的位的状态bitIndex,以newState及返回生成的对象
  • public int getStateOfBits(byte startIndex, byte endIndex)
    • 检测并返回之间的所有位的状态startIndexendIndex作为int
  • public Clazz setStateOfBits(byte startIndex, byte endIndex, int newState)
    • 设置之间的所有位的状态startIndex,并endIndex在所提供的价值newState.
    • 如果newState位数少于拟合,则通过向左添加零来使其适合
    • 如果newState位数多于拟合,则会裁剪多余的位(在左侧)

这些是我使用此接口所做的类:

IntArray


该类使用一种int通过按位函数存储32位数据的方法.

Array32


该类使用32 booleans 的数组作为通过标准数组交互存储32位数据的方式.

java memory arrays optimization 32-bit

3
推荐指数
2
解决办法
451
查看次数

纯CSS替换OL> LI元素中的句点

据我所知,无论list-style-type你设置什么属性,分隔列表的数字或字母后面都会跟一个句点(.).有没有办法将其更改为,例如,右括号()),甚至完全删除它?

概念


这是不正确的CSS显示我想要做的事情:

<HTML>
<HEAD>
<STYLE>
OL{
  list-style-type:decimal;
  list-style-punctuation: ')';
}
OL.onlyNumbers{
  list-style-punctuation: none;
}
</STYLE>
</HEAD>
<BODY>
<OL>
  <LI>Won</LI>
  <LI>Too</LI>
  <LI>Tree</LI>
  <LI>Fore</LI>
  <LI VALUE=100>Won Hun Dread</LI>
</OL>
<OL CLASS=onlyNumbers>
  <LI>Won</LI>
  <LI>Too</LI>
  <LI>Tree</LI>
  <LI>Fore</LI>
  <LI VALUE=100>Won Hun Dread</LI>
</OL>
</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)

以下是我想在浏览器中看到的内容:

  1) Won
  2) Too
  3) Tree
  4) Fore
100) Won Hun Dread

  1 Won
  2 Too
  3 Tree
  4 Fore
100 Won Hun Dread
Run Code Online (Sandbox Code Playgroud)

我不希望任何与jQuery或JavaScript有关的事情.我希望它尽可能接近正确的HTML 5和CSS 3.

html css styles html-lists

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

是否可以将HTML元素固定到另一个的底部?

一个简单问题的简单问题.我正在研究一种表示文本文档(例如书页)的方法,其中包含相对简单的HTML.每个HTML文档都可以显示许多页面.我遇到的最大问题是页脚.当然,我希望它很简单; 也许只是一个<FOOTER>带有纯文本的标签.但是,我无法理解如何强制它停留在页面的底部,无论它前面有多少文本.有没有办法将HTML元素固定到另一个的底部?

这是一个例子:

http://prog.bhstudios.org/documents.htm

position:relative 不起作用,因为我不知道页脚的原始位置将在哪里,除了"在其父级内的某个地方".

position:absolute; bottom:0 不起作用,因为它相对于查看窗口的最左侧位置,而不是元素的父级

position:fixed; bottom:0 不起作用,因为它将它从流中取出并将其"固定"到查看窗口的底部,完全独立于元素的父级.

我想要一些float:bottom可以正常工作的东西.

html css flow

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

为什么Java不会将int []传递给vararg?

为什么不编译?

public class PrimitiveVarArgs
{
    public static void main(String[] args)
    {
        int[] ints = new int[]{1, 2, 3, 4, 5};
        prints(ints);
    }

    void prints(int... ints)
    {
        for(int i : ints)
            System.out.println(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

它抱怨第5行,说:

method prints in class PrimitiveVarArgs cannot be applied to given types;
  required: int[]
  found: int[]
  reason: varargs mismatch; int[] cannot be converted to int
Run Code Online (Sandbox Code Playgroud)

但就我而言(和SO上的其他人所知),就像我int...一样int[].如果它是非基本类型,则可以工作String,但不是基元.

我甚至无法添加此方法:

void prints(int[] ints)
{
    for(int i : ints)
        System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)

因为编译器说:

name …
Run Code Online (Sandbox Code Playgroud)

java arrays variadic-functions primitive-types

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

为什么我的 FinderSync 扩展在启动前就崩溃了?

每次我的 FinderSync 扩展启动时,我都会遇到这个崩溃:

Process:               My Finder Sync [8364]
Path:                  /Applications/Company/Container.app/Contents/PlugIns/My Finder Sync.appex/Contents/MacOS/My Finder Sync
Identifier:            com.company.Container.My-Finder-Sync
Version:               [Set on build machine] ([Set on build machine])
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           My Finder Sync [8364]
User ID:               1129915948

Date/Time:             2019-01-04 11:31:34.146 -0500
OS Version:            Mac OS X 10.13.6 (17G4015)
Report Version:        12
Anonymous UUID:        013E2942-CED9-22FA-438A-E3D0BA89EB5C

Sleep/Wake UUID:       D21EDE9D-237A-412A-8456-B96453886BAD

Time Awake Since Boot: 3200 seconds
Time Since Wake:       2600 seconds

System Integrity Protection: disabled

Crashed Thread:        0  Dispatch …
Run Code Online (Sandbox Code Playgroud)

crash macos null cocoa findersync

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

使用Java获取用户的默认浏览器

我想知道如何在Java中获取用户默认Internet浏览器的位置.我怎么能得到这个?我更喜欢它作为浏览器可执行文件的URI.必须跨平台工作.

java browser

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

使用Java管理基于ZIP的压缩文件

我知道Java本身支持在ZIP文件中导航和打开压缩文件的能力,因为这就是JAR文件.如何利用它来制作和管理基于ZIP的文件(用于保存程序的状态)?

请注意,我正在进行的项目旨在完成其目标,没有任何外部图书馆.所有库都必须已包含在Java 1.6或1.7中.

java zip native-methods file

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

在java中创建一个目录

我正在尝试创建一个目录并将文件复制到它.我实现的代码及其输出如下.问题似乎是不言自明的,但我会明确地告诉那些无法分辨的人.

问题


无论我做什么,我似乎无法创建复制文件所需的目标文件.


get是要复制的文件,是要复制到dest的目录.ERR>为清楚起见,添加了行号和" ".我已经注释了我尝试过的其他文件创建方法,但它们都失败了.

115:  private void copyTo(File get, File dest)
116:  {
117:    try
118:    {
119:      dest = new File((dest.getPath().endsWith(File.separator) ? dest.getPath() : dest.getPath() + File.separator) + get.getName());
120:      
121:      java.io.FileInputStream fis = new java.io.FileInputStream(get);
122:      if (dest.exists())
123:        while(!dest.delete());
124:      dest.mkdir();
125://      dest.createNewFile();
126://      java.io.FileWriter w = new java.io.FileWriter(dest);
127://      w.write("");
128:      System.out.println("Writing \"" + get + "\" to \"" + dest + "\"");
129:ERR>  java.io.FileOutputStream fos = new java.io.FileOutputStream(dest); …
Run Code Online (Sandbox Code Playgroud)

java file creation filenotfoundexception ioexception

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

编译器无法正确识别构造函数覆盖

我会让代码和错误进行讨论,因为我真的认为他们会说除了一切之外的一切都不应该发生!有谁知道如何编译?


  class CountDownTimerGUI extends BHTimerGUI
  {
    private TimerJPanel control;
    private TimerDisplayJPanel disp;

    public CountDownTimerGUI(TimerJPanel control, TimerDisplayJPanel disp)
>>  {
      this.control = control;
      this.disp = disp;
    }
  }
Run Code Online (Sandbox Code Playgroud)

(>>表示错误行)

这会覆盖构造函数BHTimerGUI,其构造函数如下:

  public BHTimerGUI(TimerJPanel control, TimerDisplayJPanel disp)
  {
    this.control = control;
    this.disp = disp;
  }
Run Code Online (Sandbox Code Playgroud)

编译错误


I:\Java\NetBeansProjects\Blue Husky's Timer 2.0.0\src\bhtimer\GUI.java:145: cannot find symbol
symbol  : constructor BHTimerGUI()
location: class bhtimer.BHTimerGUI
    {
Run Code Online (Sandbox Code Playgroud)

NetBeans显示带有以下文本的弹出窗口:

constructor BHTimerGUI in class bhtimer.BHTimerGUI cannot be applied to given types;
  required: …
Run Code Online (Sandbox Code Playgroud)

java netbeans compiler-errors

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

为什么我收到错误"线程中的异常"AWT-EventQueue-0"java.lang.ArithmeticException:/ by zero"?

Exception in thread "AWT-EventQueue-0" java.lang.ArithmeticException: / by zero
        at factoroperations.compute(factoroperations.java:21)
        at factorframe$buttonhandler.actionPerformed(factorframe.java:71)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:20
18)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2341)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:402)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:252)
        at java.awt.Component.processMouseEvent(Component.java:6504)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
        at java.awt.Component.processEvent(Component.java:6269)
        at java.awt.Container.processEvent(Container.java:2229)
        at java.awt.Component.dispatchEventImpl(Component.java:4860)
        at java.awt.Container.dispatchEventImpl(Container.java:2287)
        at java.awt.Component.dispatchEvent(Component.java:4686)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)

        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
        at java.awt.Container.dispatchEventImpl(Container.java:2273)
        at java.awt.Window.dispatchEventImpl(Window.java:2713)
        at java.awt.Component.dispatchEvent(Component.java:4686)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
        at java.awt.EventQueue.access$000(EventQueue.java:101)
        at java.awt.EventQueue$3.run(EventQueue.java:666)
        at java.awt.EventQueue$3.run(EventQueue.java:664)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo


main.java:76)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo
main.java:87)
        at java.awt.EventQueue$4.run(EventQueue.java:680)
        at java.awt.EventQueue$4.run(EventQueue.java:678)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo …
Run Code Online (Sandbox Code Playgroud)

java swing exception zero divide

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