小编Rob*_*een的帖子

我们可以免费在生产系统上使用zulu jdk 1.8吗?

从2019年1月起,Oracle将要求对Java 8更新进行商业许可.目前我们正在使用oracle jdk,我们希望切换到amazon corretto JDK.但是,Amazon Corretto不适用于Centos 7.我们计划使用Zulu JDK,因为它提供频繁的软件更新.我们需要支付使用Zulu JDK的费用吗?建议我在亚马逊发布Corretto之前可以自由使用JDK的一些选项.

java azul-zulu corretto

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

jcmd创建的堆转储文件在哪里?

我尝试使用 jcmd(从 gi​​t bash 控制台窗口)进行堆转储:

$ /c/Program\ Files/Java/jdk1.8.0_202/bin/jcmd 25156 GC.heap_dump filename=livetest-grindtohalt.hprof
25156:
Heap dump file created
Run Code Online (Sandbox Code Playgroud)

但是,该文件似乎不存在:

$ find -name livetest-grindtohalt.hprof

$
Run Code Online (Sandbox Code Playgroud)

我在哪里可以找到它?

java hprof jcmd

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

将log4j语句重定向到java中的自定义控制台

下面的类使用一个JInternalFrame来保存一个Textarea,它显示所有重定向的println和err语句.

public class ConsoleFrame extends JInternalFrame
{
  JTextArea outArea = new JTextArea(10,100);
  static JInternalFrame cons;
  public ConsoleFrame() 
  {
    outArea.setLineWrap(true);
    JScrollPane pain = new JScrollPane(outArea);
    //pain.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
    this.add(pain);
    this.setVisible(true);
    this.setSize(1000,400); 
    this.setTitle("Groovy Console");
    this.closable = false;
    this.maximizable = false;
    this.isSelected = true;
    this.resizable = false;
    BasicInternalFrameUI ui = (BasicInternalFrameUI)this.getUI();
    Component north = ui.getNorthPane();
    MouseMotionListener[] actions =
    (MouseMotionListener[])north.getListeners(MouseMotionListener.class);

    for (int i = 0; i < actions.length; i++)
    north.removeMouseMotionListener( actions[i] );

    this.setFocusable(false);    
 //logger
    System.setErr(new PrintStream(new JTextAreaOutputStream(outArea)));
    System.setOut(new PrintStream(new JTextAreaOutputStream(outArea)));

    setConsole(this);
  }


  static public JInternalFrame getConsole(){ …
Run Code Online (Sandbox Code Playgroud)

java logging log4j

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

Haskell并发使用简单的IORef?

我一直在问Haskell中关于并发性的几个问题,特别是TVar我对Livelock的问题有所顾虑TVar.

相反,我提出了这个解决方案.

(1)将程序中的所有共享数据包装在一个数据结构中,并将其包装在一个数据结构中IORef.(2)只需使用即可进行任何更改atomicModifyIORef.

我相信这可以防止死锁和活锁(而TVar只会阻止前者).此外,因为atomicModifyIORef简单地将另一个thunk链接到一个链(这是一对指针操作),这不是一个瓶颈.对数据的所有实际操作可以并行完成,只要它们不相互依赖.Haskell运行时系统将解决这个问题.

但是我觉得这太简单了.我错过了什么"陷阱"吗?

concurrency haskell shared-state ioref

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

如何修改包含集合的 Map 的值,返回一个新的 Map?

给定 a Map[Int, Set[Int]],如何修改 Map 的单个值,在此过程中生成一个新值,例如:

val x = Map(1 -> Set(1,2,3))
x(1) + 5 // This creates a new Set, but not a new Map

val y = x(1) change { x => x + 5 }
// The previous functionality is what I'm looking for
// z: Set[Int]] = List(Set(1, 2, 3, 5))
Run Code Online (Sandbox Code Playgroud)

functional-programming scala immutability

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

使用category和categorylinks表查找维基百科类别的子类别

我从mediawiki下载了类别和categorylinks表sql.gz文件,并生成了所需的表:

类别和类别链接

表格手册: CategoryLinks 类别

请考虑以下类别页面:NoSQL 此页面的父类别是数据库和数据库管理.我如何从这两个表中获取此信息?类别表的手册说明如下,但我无法获得该信息:"

注意:页面和子类别存储在categorylinks表中."

mediawiki

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

IORef处理清单

这是我之前提出的问题的后续行动.如果方式更新列表中,我想IORef在下面接受的解决方案是O(1)或不是,在每一个电话fetch.我怀疑这是因为IORef可能只是保持指向列表头部的指针(而不是遍历和复制整个列表,每次都是O(n).只需将指针更改为新头应为O(1),并且应该防止急切评估整个列表).但是,ghc-core不会显示低级代码.所以,问这里:

mklstream :: L.ByteString -> (IO S.ByteString -> IO r) -> IO r
mklstream lbs sink = do
  ref <- newIORef (L.toChunks lbs)
  let fetch :: IO S.ByteString
      fetch = do chunks <- readIORef ref
                 case chunks of
                   [] -> return S.empty
                   (c:cs) -> do writeIORef ref cs
                                return c
  sink fetch
Run Code Online (Sandbox Code Playgroud)

haskell time-complexity ioref

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

Git预推钩在不止一次检查的情况下不会中止推送

在git hooks中 - 我想在推送之前检查jshint错误和纱线完整性检查,所以我在推送前添加了以下内容.所以它是这样的 -

    # Pre-push hooks
    # Lint stuff before committing
    grunt jshint eslint tslint
    # Verifies that versions and hashed value of the package contents 
      in the project’s package.json matches that of yarn’s lock file.
    yarn check --integrity
Run Code Online (Sandbox Code Playgroud)
  • 这里如果jshint给出错误但是如果纱线完整性检查通过,它仍然允许推送.如果纱线失效,它将中止.
  • 如果我颠倒了订单,那么如果纱线检查失败并且如果jshint通过,那么它也会推动.如果jshint失败,它将中止.

因此,只有在最后一次检查失败时它才会失败,而在其他情况下,它会指出错误但仍会推送它

git shell githooks yarnpkg

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

如何解决java.lang.NoClassDefFoundError?

我目前正在开发一个简单的Web项目,我正在使用Polarion的SDK .尝试使用相应的*.jar-Files时,Tomcat 7会在启动时抛出以下错误消息:

SCHWERWIEGEND: Exception sending context initialized event to listener instance of class org.apache.myfaces.webapp.StartupServletContextListener
java.lang.NoClassDefFoundError: Lcom/polarion/alm/ws/client/session/SessionWebService;
Run Code Online (Sandbox Code Playgroud)

根据我所进行的研究,Java正试图找到com.polarion.ws.client.session.SessionWebService 的实例(因此是领先的L).我已经检查了所需条目的类路径 - 它就在那里.

C:\Polarion\polarion\SDK\lib\com.polarion.alm.ws.client\wsclient.jar
Run Code Online (Sandbox Code Playgroud)

截至目前,我已经完成了可能出错的想法.你有什么想法?

非常感谢!西蒙

java tomcat noclassdeffounderror tomcat7

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

如何将两个数组链接在一起

我刚刚开始在大学学习java课程,我想链接两个数组.

我创建了一个名为StudentID []的一维数组,这将存储学生ID.

我创建了另一个名为SubjTaken [] []的2D数组,其中包含主题,学分,成绩字母.

现在,我想链接这两个数组.例如,

Inpute将是:

输入学生ID:

123456

进入主题:

MATH101 4 A.

PHYS201 3 B +

然后它将它们存储在两个数组中.并且以后可以调用它.例如:

输入学生ID:

123456

您要采取的主题是:

MATH101 4 A.

PHYS201 3 B +

我的问题是:我不知道如何与他们建立链接.如果我有5个学生,我需要有5个2d阵列,我需要链接其中的每个.我想到了数组中的数组.寻求帮助.

java arrays

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