Java class finding tool: ClassFinder

I got into more coding again lately and that is a good thing I think. I’m a believer of the German saying “Wer rastet, der rostet” or in English: A rolling stone gathers no moss! Java seems to be my main programming language since quite a while now. But believe it or not I’m still coding some PL/SQL as well now and then. Anyway, sometimes when you get some ClassNotFound exceptions in Java it can be quite handy to have a little tool that can scan .jar and .zip files for the class that you’re missing. Yes, there are tons of those little programs out there on the web but as you might have guessed by the title I’ve decided to write yet another class finding tool. Damn, I really should have called it YACFT! But instead I did go for ClassFinder. Why did I write yet another class finding tool then? Well, although there are some good ones out there, non of them fulfilled all of my requirements – at least none of those that I have found. First I was a big fan of Xigole’s classfinder tool. A really slick, fast and easy to use command-line class finding tool which is really great for Unix systems where you ssh in. However, I soon got fed up with it when I did have a proper graphical interface available, whether it was Windows or X11 or simply my MacBook Pro. So I started searching for other tools and soon found that they were either just GUI based or just GUI based and on Windows only (Why? I don’t get it!) or GUI based on ugly AWT. But all that I wanted was a slick tool like Xigole’s that was clever enough to spawn a GUI when there was X11 available but still provide a nice CLI when there wasn’t. Well, as I said I couldn’t find one, so I wrote my own and here it is, ClassFinder:

ClassFinder Window-mode

It’s really easy to use:

  1. Give it either a file or a folder to search – files currently supported are .jar, .war, .ear, .zip, .rar, .class, .java
  2. Give it the class name that you’re looking for
  3. Shall the class name be case sensitive?
  4. Shall the folder be searched recursively?
  5. Hit Search!

Continue reading “Java class finding tool: ClassFinder”

Oracle 12c R1 enqueue waits

Just as with the new Oracle 12c R1 lock types it’s time to take a quick look at the new enqueue waits in 12c. Oracle 11.2.0.3 had a total of 304 enqueue waits. 12.1 has a total of 418. A lot of work seems also to have happened on ASM in this release. The amount of new enqueues per group looks as follows:

Group Amount
ASM Enqueue 16
Enqueue-Cross SCN 12
Backup/Restore 11
Queue Ptning global enq 8
Being Written Redo Log 8
SGA Log-Bkt Flush 6
AM Container 5
Media Recovery 5
OLS groups 4
Instance Recovery 3
AVM RTA Access 3
AM Contained File Identification 3
Privilege Capture API 2
Queue table enqueue 2
Label Security Profile 2
RFS Logminer FLC 2
Data Guard Broker 2
IOServer File 2
Queue Partitioning local enqueue 2
Column Key 1
Flush Stat 1
Pluggable Database 1
SGA Log Operation 1
AM Group Rebuild/Validate 1
Real-Time ADDM Flood Control 1
AM Contained File Resize 1
PDB DDL Operations 1
non durable sub bmap alloc 1
CBAC Master Lock 1
IOServer Client 1
PDB Instance State 1
Oracle File System Operation 1
KJCI Serialization Enqueue 1
Spillover Audit files 1
Application Continuity 1
File Set / Dictionary Check 1

Continue reading “Oracle 12c R1 enqueue waits”

Oracle 12c R1 lock types

As stated in my previous post, it’s time for me to revisit some of my posts and check the relevance for 12c. Let’s start with the one on locks. As posted in late 2010 there are 202 different lock types in Oracle 11g. It’s actually 205 in 11.2.0.3 which was not out back then. Anyway, in 12.1 we have now 240 but still only 4 which are caused by user interaction, aka. SQL statements.

Continue reading “Oracle 12c R1 lock types”