Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 11 jdk.jfr.jmod - JFR Module
JDK 11 jdk.jfr.jmod is the JMOD file for JDK 11 JFR module.
JDK 11 JFR module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.jfr.jmod.
JDK 11 JFR module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 JFR module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.jfr.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ jdk/jfr/internal/RepositoryChunk.java
/* * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package jdk.jfr.internal; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.channels.ReadableByteChannel; import java.nio.file.Path; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZonedDateTime; import java.util.Comparator; import java.util.Objects; import jdk.jfr.internal.SecuritySupport.SafePath; final class RepositoryChunk { private static final int MAX_CHUNK_NAMES = 100; static final Comparator<RepositoryChunk> END_TIME_COMPARATOR = new Comparator<RepositoryChunk>() { @Override public int compare(RepositoryChunk c1, RepositoryChunk c2) { return c1.endTime.compareTo(c2.endTime); } }; private final SafePath repositoryPath; private final SafePath unFinishedFile; private final SafePath file; private final Instant startTime; private final RandomAccessFile unFinishedRAF; private Instant endTime = null; // unfinished private int refCount = 0; private long size; RepositoryChunk(SafePath path, Instant startTime) throws Exception { ZonedDateTime z = ZonedDateTime.now(); String fileName = Repository.REPO_DATE_FORMAT.format( LocalDateTime.ofInstant(startTime, z.getZone())); this.startTime = startTime; this.repositoryPath = path; this.unFinishedFile = findFileName(repositoryPath, fileName, ".part"); this.file = findFileName(repositoryPath, fileName, ".jfr"); this.unFinishedRAF = SecuritySupport.createRandomAccessFile(unFinishedFile); SecuritySupport.touch(file); } private static SafePath findFileName(SafePath directory, String name, String extension) throws Exception { Path p = directory.toPath().resolve(name + extension); for (int i = 1; i < MAX_CHUNK_NAMES; i++) { SafePath s = new SafePath(p); if (!SecuritySupport.exists(s)) { return s; } String extendedName = String.format("%s_%02d%s", name, i, extension); p = directory.toPath().resolve(extendedName); } p = directory.toPath().resolve(name + "_" + System.currentTimeMillis() + extension); return SecuritySupport.toRealPath(new SafePath(p)); } public SafePath getUnfishedFile() { return unFinishedFile; } void finish(Instant endTime) { try { finishWithException(endTime); } catch (IOException e) { Logger.log(LogTag.JFR, LogLevel.ERROR, "Could not finish chunk. " + e.getMessage()); } } private void finishWithException(Instant endTime) throws IOException { unFinishedRAF.close(); this.size = finish(unFinishedFile, file); this.endTime = endTime; Logger.log(LogTag.JFR_SYSTEM, LogLevel.DEBUG, () -> "Chunk finished: " + file); } private static long finish(SafePath unFinishedFile, SafePath file) throws IOException { Objects.requireNonNull(unFinishedFile); Objects.requireNonNull(file); SecuritySupport.delete(file); SecuritySupport.moveReplace(unFinishedFile, file); return SecuritySupport.getFileSize(file); } public Instant getStartTime() { return startTime; } public Instant getEndTime() { return endTime; } private void delete(SafePath f) { try { SecuritySupport.delete(f); Logger.log(LogTag.JFR, LogLevel.DEBUG, () -> "Repository chunk " + f + " deleted"); } catch (IOException e) { Logger.log(LogTag.JFR, LogLevel.ERROR, () -> "Repository chunk " + f + " could not be deleted: " + e.getMessage()); if (f != null) { SecuritySupport.deleteOnExit(f); } } } private void destroy() { if (!isFinished()) { finish(Instant.MIN); } if (file != null) { delete(file); } try { unFinishedRAF.close(); } catch (IOException e) { Logger.log(LogTag.JFR, LogLevel.ERROR, () -> "Could not close random access file: " + unFinishedFile.toString() + ". File will not be deleted due to: " + e.getMessage()); } } public synchronized void use() { ++refCount; Logger.log(LogTag.JFR_SYSTEM, LogLevel.DEBUG, () -> "Use chunk " + toString() + " ref count now " + refCount); } public synchronized void release() { --refCount; Logger.log(LogTag.JFR_SYSTEM, LogLevel.DEBUG, () -> "Release chunk " + toString() + " ref count now " + refCount); if (refCount == 0) { destroy(); } } @Override @SuppressWarnings("deprecation") protected void finalize() { boolean destroy = false; synchronized (this) { if (refCount > 0) { destroy = true; } } if (destroy) { destroy(); } } public long getSize() { return size; } public boolean isFinished() { return endTime != null; } @Override public String toString() { if (isFinished()) { return file.toString(); } return unFinishedFile.toString(); } ReadableByteChannel newChannel() throws IOException { if (!isFinished()) { throw new IOException("Chunk not finished"); } return ((SecuritySupport.newFileChannelToRead(file))); } public boolean inInterval(Instant startTime, Instant endTime) { if (startTime != null && getEndTime().isBefore(startTime)) { return false; } if (endTime != null && getStartTime().isAfter(endTime)) { return false; } return true; } public SafePath getFile() { return file; } }
⏎ jdk/jfr/internal/RepositoryChunk.java
Or download all of them as a single archive file:
File name: jdk.jfr-11.0.1-src.zip File size: 237632 bytes Release date: 2018-11-04 Download
⇒ JDK 11 jdk.jlink.jmod - JLink Tool
2020-06-30, 37675👍, 0💬
Popular Posts:
What Is commons-collections4-4.4 .jar?commons-collections4-4.4 .jaris the JAR file for Apache Common...
ANTLR is a powerful parser generator for multiple programming languages including Java. ANTLR contai...
How to display types defined in an XML Schema file with the xs\QueryXS.java provided in the Apache X...
The Web Services Description Language for Java Toolkit (WSDL4J), Release 1.6.2, allows the creation,...
How to run "jarsigner" command from JDK tools.jar file? "jarsigner" command allows you to digitally ...