Java Forum / General / February 2007
JVM/Java memory footprint
alexcpn@gmail.com - 29 Jan 2007 14:42 GMT Hi, Though I have some three four years experience in C++ ,I did not have that much oppurtunity to work in Java. Currenly I was doing some analysis for a very simple CLI and was surprised to come with a memory restriction. I found that if I use Java for developing the CLI application I will be exhausting the memory of our Application Server (AS). Just to mention the architecture ,users (telecom operators) use a metaframe server client ( =something like remote desktop) to login to the AS and then open a GUI to work on it. With Java I can service only about 15 clients with the available memory . I just checked the reason for this resource crunch and found that already many Java based GUI's are served by the AS and each is taking some 25 MB or more. The first thing I thought is that adding more RAM will solve this ( though this is not an easy option) . Then I understood that a 32 bit system can have just about 3 gb ram for applciations and our AS had already 4 GB with 1.5 GB VM also configured. Then I thought there might be ways to make the JVM shareable. But no. Also tried to use the flags to fine tune JVM. No go there also. Irrespective of how much you limit the actual limit is in the heap size allocated to the application and not to the private bytes of JVM.
----------------------------------------- Data from Jconsole for the Java application
Memory Current Heap Size 4.3 MB Max heap size 12. 2 MB ( set by flag) Committed memory 5 MB Operating System Committed VM - 26.7 MB
Data from Perfmon (for java.exe)
Private Bytes - 27.7 MB ----------------------------------------
I am part of a large team that developes and maintains a telecom network managment software system. Also this software is used all around the globe almost in around 190 countries usually by telecom service providers. So this is a very real problem that I am speaking about. I am getting to love the simplicty of Java and of the great IDE Eclipse as much as I love the power of STL; but I am comming face to face with the main constraint of Java, its memory footprint and I guess thousands of others like me must have faced similar problems.
If so the next question is what is SUN doing about this. I could not find it in their top 25 RFE's or top 25 bugs. (http://bugs.sun.com/ bugdatabase/top25_bugs.do http://bugs.sun.com/bugdatabase/ top25_rfes.do )
1) Is this really not a problem in the outside world then ?
2) Or is it that with the introduction of 64 bit HW and serveres this will be of no significance ?
Anyway I doubt if companies like ours will adopt 64 bit HW and servers because of the costs involved in it ( note this is just a logical guess, I have no experience in such decisions)
Anyway I am now forced to use C++ for the client and use Java on the server side. Fortunately most of the Java in the server side is done up as EJB's all conatined in the JBoss server thus consuming only one JVM there) ------- I would like to get some comments on questions 1 and 2.
Thanks Alex.C.P
Daniel Pitts - 29 Jan 2007 21:56 GMT On Jan 29, 6:42 am, alex...@gmail.com wrote:
> Hi, > Though I have some three four years experience in C++ ,I did not have [quoted text clipped - 64 lines] > Thanks > Alex.C.P Hmm, I'm not sure I understand your setup, but it appearch you have a single server machine which runs both the Java server process and the multiple client processes?
Usually, Java clients are run on seperate client machines, so the number of clients doesn't effect the footprint.
Anyway, to answer your questions, I've never found this to be a problem in any of our environments, so perhaps there is some problem with your architecture/design/configuration. I think that this problem doesn't have anything to do with the 32 vs 64bit platform, but perhaps a misunderstanding somewhere. Java does not have a tiny footprint, but last I checked, 2048M(2gig)/ 32Mb = 64. That means that you'd be able to run around 64 seperate JVM processes on one machine. This isn't a typical situation, and it still doesn't seem to fit your conclusions.
Maybe it would help my understanding if I know what a "CLI" was. I only know it as Clear Interrupt Flag :-)
Hope this helps, Daniel.
alexcpn@gmail.com - 30 Jan 2007 05:40 GMT On Jan 30, 2:56 am, "Daniel Pitts" <googlegrou...@coloraura.com> wrote:
> On Jan 29, 6:42 am, alex...@gmail.com wrote: > [quoted text clipped - 89 lines] > Hope this helps, > Daniel. Hi, Let me clarify - CLI just means the simple command line interface :) .Well the architecture is like this. We have a Application Server (AS) , which is also a metaframe server. Many operators with 'dumb' terminals can establish a seession with the AS using a metaframe client. (say like using a glorified version of telnet, or remote desktop or RDP). Each time a new operator connects and invokes a java GUI or CLI a new instance of Java.exe is started on the AS. Now there is another server (say BS) which servers the AS. The business logic of the java clients in the AS is served by the EJB components in the BS. Since all these are developed as EJB's they run in JBoss container which needs only single JVM (Java.exe). Also already there are 17 JVM's already running in the AS consuming about 710 MB on avearge .Hope this clarifies
Regards Alex.C.P
Daniel Pitts - 30 Jan 2007 06:27 GMT On Jan 29, 9:40 pm, alex...@gmail.com wrote:
> On Jan 30, 2:56 am, "Daniel Pitts" <googlegrou...@coloraura.com> > wrote: [quoted text clipped - 109 lines] > Regards > Alex.C.P Well, that does help explain what you mean :-) That isn't a typical use of Java technology. Usually you have only a handful of processes on one machine, either server processes or client processes. Rarely do you have both. Perhaps your glorified Telnet would be better implemented as a connection to the Java server, rather than a connect to the machine the server runs on. It really depends on how 'dumb' your terminals are. If they are capable of running a JVM themselves, then I would go that approach.
Also note that there are different types of JVM's out there. At the very least, there is a Client JVM and a Server JVM that come standard. With Java 1.6, Sun is introducing a method that allows all of the JVMs to utilize shared memory for a portion of the footprint (standard class files, and probably some other static JVM information)
Anyway, my suggestion is to try to move the client JVM process from application server to the client machine, or at try to find a way to have each client JVM process service more than one user.
nukleus - 30 Jan 2007 10:54 GMT >On Jan 29, 6:42 am, alex...@gmail.com wrote: >> Hi, [quoted text clipped - 9 lines] >> reason for this resource crunch and found that already many Java based >> GUI's are served by the AS and each is taking some 25 MB or more. I looked into this footprint issue as in my case, the amount of heap required could be very large and that is for each thread running under the same instance of an app. Just to run the simpliest application, JVM swallows tens of megabytes. And when you run the application that could be in a way similar to your situation, literally hundreds of megabytes are simply eaten up. I ended up inserting code to free up all the huge lists and buffers that are generated on the fly and not to preload large buffers with the data, say news article bodies, and postpone it to the very last moment, when this data is needed. Then, once it is used, I explicitly empty the buffers by removing the vector contents or equivalent thereof.
Just to process a 25000 article archive, you could be loosing terabytes, and not even clear where, cause your entire archive is less than 50 megs. Where did all those terabytes go? I am still trying to figure it out.
Seemed to help in that i see that the garbage collector is cleaning all this stuff and heap grows as lil as possible. But it places about major restriction on your code as you have to juggle things like a clown in circus, and have to let go of things that were already referenced and loaded, as you might want to do for some feature operations.
I do not recall having ANY of these problems with all my C++ experience, and here, you have to be aware to the point that you have to make sure you declare your local variables in a very specific scope. Otherwise, you might be loosing huge amounts of memory if your main processing loop is not exited, and it might have to run till completion of some major operation that could be taking minutes if not hours to complete.
I, personally, think that the footprint issue is one of MAJOR problems with Java's architecture and approach and have reasons to believe that it'll never be resolved, in principle.
The whole idea of JVM is nothing different than the Pascal's P machine idea. People wanted to invest millions into the hardware chips that run the P machine code directly, and what happened at the end? Anybody heard of Pascal? Well, dead as it gets.
And what is such a compelling need for the virtual machine? To make it MORE portable? But where did all this "portability" go, when you can't even build an app, working on the same platform and be assured that unless other co-developers, clients or customers, using your code, use the same exact compiler as you do, they won't be able to even reproduce your results unless they switch their entire development environment to that which YOU use.
What kind of joke is this?
WHO in his clear mind would even bother? Which customer, after double clicking on your executable and seeing the error message as to JVM, is even going to bother reading that error message?
Who is going to go hunting for the JVM, being subject of megabux lawsuits?
And Sun, Microsoft, Borland, and that is about 99 percent of the market share, do just about ANYTING and EVERYTHING imaginable on making Java as much incompatible as they can manage, and entrap you into their proprietary architectures to the point of unbelievable.
And they hope to achieve what at the end? Java becoming more portable and more acceptable? How?
Just look at the very development environment. Borland, for example, eats up over 400 megs, and you never know what is going to happen when you simply use your scroll bar ot look at one of the menus, without even ACTIVATING it. What I am seeing is they eat up gigabytes just when you select a different source file. So, you'd better have a few spair terabytes of RAM on your box. Otherwise, you'll be waiting for hours with all the swapping going on.
And this is Borland, and not some shareware. Windows XP goes as far, as to require nothing less than XP SP2 to even INSTALL thei compiler and development environment.
WHY?
What for?
Is it some kernel mode drivers that you need to run a compiler and editor? Why do you have to reboot the box after installing a compiled and development environment? Can you imagine what it means for some major operations?
At least Borland installs. Thanks for that much.
Then, on the top of it, once you upgrade to a new version, all of a sudden, your perfectly good code does not even compile. The same exact code that worked perfectly on their own previous version and that compiles on other compilers.
Where is all that portabilty thing they are talking about?
Not only that, but it is LITERALLY impossible to figure out why. Because you get an error message that says essentially: Error 2 + 2 is not equal to four. WHAT?
And they give you an error, indicating that the package, declared in one of sorce file does not correspond to exactly the same source file in their own error message. Not only that, but even if it compiles after you remove some perfectly valid declarations, and try to run your app, it claims it can not find you MAIN class!!!
What?
But HOW did you compile it on the first place? WHERE do I find the thing I can change to make sure your own compiler and run time environment reconcile? Try to push the HELP button? Well, what I found out, that just about the LAST thing you'd want to do, is to push the help button, as, first of all, it'll eat about half of a terabyte of memory, and, after waiting for minutes, LITERALLY, you'll see the help screen, your eye brows may get covered with the snow, as you'd have to read about 50 pages of UTTERLY incomprehensible stuff, that has NOTHING to do with your situation, and even if you do so, you are not likely to get ANY answers at the end. Only more questions and more headache.
Thanks to this group, at least in SOME cases, you can ask mere mortals if they know the answer to your simpliest problme of all, and, if you are lucky enough, and they are in the mood of doing so, they'll give you some scetchy answer, that is nothing more than a hint, and you'd have to go back to your puter and sweat it out to full extent. Kinda sadomasochistict trip.
And what CAN you expect from those people? Not only that, but you will be insulted and rediculed, told that in Java, the names of routines MUST be in lower case, even though Sun itself has some things that start in upper case and some don't.
Now, what WHAT specific REASON do you have to make all the method names in lower case? Does it make your code MORE readable? - Nope, just the other way around.
Does it prevent your compiler to compile this thing? - Not even in the picture.
Does it make MORE clear what are you trying to do? - Are you kidding?
So...
What IS that dictate good for?
Just read this very group. You'd be amazed if you are new to java.
Those poor "clueless", when they are in just about the biggest problem they can imagine at the moment, instead of getting assistance, get a brainwashing dictates on what you MUST do!
You see?
MUST!
And unless you do so, you are considered of an "inferior race"! Nothing more. Nothing less...
And they'll be laughing at you like you are some kind of idiot.
And why?
Can ANY of those "experts" explain WHY is it that you MUST use lower case letters in just about ANY situation imaginable?
I, personally prefer to capitalize each part of a name and use long names that are self descriptive by simply looking at them. Because when you work on things and have to juggle about 10 screens if you are lucky, you have a breakpoint hit, and need some information from the help subusystem to see what and why, you have VERY little chance to follow some dictates on how YOU name things. You need to be able to VERY quickly go through very large amounts of source code and by just glancing at ANY name for few millisconds, you should be able to understand that is that thing, what it does and why is it there on the first place.
By REQUIRING to use lower case letters in the INITIAL section of the name, you simply make them schitsophrenic, as the mind have to constantly switch form one thought template to another, in millisecond time frames!
It has to be able to distinguish the first part of the word and use a different template to recognize it, from the REST of your name, which MUST be capitalized.
What is this?
A mad house?
Are you, people, serious?
What IS the REASON behind all this insanity?
Well, somebody in the stone ages, at the very beginning of java trip, decided that this is the way to go. There was EXACTLY the same trip with Microsoft, when they invented a system of naming things, a system that allows you from the very name to see what kind of object or variable you are using, down to the variable type!
Well, at least THAT made some sense, even though I am not sure what is the CURRENT hype on the most innoncent thing in the world imaginable.
And here, you may not even get a reply on your question, just because you show these people some piece of code that does not fit THEY view on Universe and a life force as such.
Wake up, people.
WHAT are you doing here on the first place? Why do you even bother to answer questions? You see, if I am an expert, built according to YOUR templates, I don't need your help. I can teach YOU, and teach you using REASON, and not some dictates as to how the planet Earth is to turn and where is the Sun to rise in the morning.
Is it clear enough?
I spent DAYS and still can not figure out what is the problem on the first place. Just try to push the help button. First of all, it'll eat up a terabyte of memory and you'd be sitting there mezmerized, waithing for it to stop swapping like mad and load all the stuff, that is the simpliest thing in the world, just to display a single help screen, which shouldn't take more than a few milliseconds nowadays.
I am sitting here with a perfectly good computer with the amount of memory enough to load the Universe, at least from the virtual memory standpoint, and about 90 percent of my time is spend on waiting for a stupid help screen to load or by merely switching some tab on development user interface, before I even DO some action! Just to switch to another source file, you need to swap the Universe?
I wonder how many terabytes will it take just to start up the next version of their development environment.
Not only that, but when you upgrade to a new version and start it up, you are like in a zombie land. There is just nothing left of what you know and what worked perfectly well in the last version of their own product. Now, just to create a hello project, displaying a blank screen, you'd have to get a PHD at nothing less than MIT or major universities of that grade.
You'll have to spend a couple of years fully adjusting to their news version of the Universe, where they added another 5 levels of indirection and abstraction just to make it more "universal" and more "powerful".
How many times do you have to reinvent the wheel before you realize that you are nothing more than a fool?
Now, just as you eventually get used to their new environment, surely enough, it is outdated and you'd have to shelve out kilobux to upgdate to, and the whole story of the wheel of Karma as told by the Idiot, is to make its next turn.
Do you, people, have time for all these "improvements"?
Why is it that it considered nearly illegal, to use the AWT package, if you don't even want to have anything fancier than that?
What I have done with AWT, is something I am not sure they can do with all their latest and gratest version of a super-sex machine. My user interface is designed in such a way, that the user does not even realize he is using it. It is so natural and so intuitive, that you must be UTTERLY clueless to get lost in the mazes of parameters giving you so much power that it'll take generations to fully appreciate it.
You can have fields of 3 miles long if you want to, which is exactly the case with usenet articls and various headers. You can edit them, maximize or shrink the dialogs, resize just about anything you can imagine, and have just about ALL your diagogs and windows available SIMULTANEOUSLY. You want it? You use it. You don't want it, no problem, the dafaults make it perfectly comfortable.
At ANY given junction, just hit F1 key, and you'll get the EXACT and detailed TO THE POINT help on just about ANYTHING under the Sun, and it does not have to swap a few terabytes to do so, and you don't have to wait for half an hour just because you pushed the "wrong" button.
Why do I need all this super-sex?
My code should compile on ANY half decent java system on ANY platform, going back to the beginning of Java time. Even after a generation, it will run like a champ, unless those software "kings" totally negate their own version of the Universe.
Why do you think Bill Gates has become what he is?
Well, because of that lil stupid bios thing that sits in your box, and the principles of backward compatibility.
Anyone here ever heard of Zilog, which is one of the oldest CPU manufacturers, whose CPU was compatible with intel, and only was more powerful.
What happened to them?
Well, not even sure there is a trace of them left. Why?
Because with every new version of their CPU, they would completely change the instruction set, which means that you'd have to throw away all your perfectly working copies if you want to get a marginal improvement on your performance.
What happened to Motorola, another major major CPU manufacturer?
The same thing. New version = new instruction set. Throw away all you have and shell out a few kilobux if you want a 10 percent improvement.
I am simply amazed Mac is still in business. With every new version of a Motorola CPU, they'd have to fire all their programmers and hire the new ones, cause that version was utterly incompatible with a new one. You'd have to rewrite the KERNEL itself. Nothing less, nothing more. Oh, sure, some claim that it is only the compiler back and that has to be scrapped.
But how many gazillions upon gazillons of resourses does it waste?
It is like trying to run, and, at the same time, tying yourself with a rope to the wall.
What kinda "progress" are you going to make, if you have to return to the exact same place in that Wheel Of Karma, just another resolution?
Do you think you all have time for that?
Sorry to tell you, but your rears is on fire. Haven't you noticed?
WHY do I have to scrap the AWT, which is what Java was to a large extent on the first place?
Why do they refuse to recognized their own old code, that is at the very core of their entire product line?
See?
Bill gates can run some programs that are sitting in my archive boxes that ran on 8088 CPU, more than a generation ago, and some of those programs, and even the news reader i am using thise very moment, are written so long ago, that Sun and all those pure blooded "experts", would consider the stone age technology.
Well...
May be.
But you know what?
THEY RUN.
And I have seen just about ALL your fanciest gadgets, and just about ALL their versions, and STILL I am using this newsreader, and, after trying just about anything imaginable, still find it about the most comfortable thing to work with, even if it crashes on me once in a while, even after i have to resize some windows after bringing the program up because, for some strange reason, it forgets the last session settings in some instances.
Because it is like a glove in my hand. About the easiest, the most unobtrusive, the most functional, the most intutivive, the most flexible gadget I've ever heard of in terms of newsreaders.
And it will run for generations to come.
THAT is real progress. THAT is technology that is even worth mentioning. THAT is the way to go.
Now...
I am being laughed at by all these "experts" around here because I told them: No javax stuff. AWT is fine for what I am doing. Not even interested. Because if you use Borland development environment, you have support of some things, but when you use the same perfectly working code, say for example with the biggest and baddest of them all, they do not even recognized ANYTHING beyond AWT, and that is not some old and outdated version.
See?
Now, my code compiles on just about the oldest bullock card and functionality and gui look probably more flexible and more powerful than all you fancy gadgets and supersex.
THAT is what makes a difference between the master and a bio-robot, brainwashed to literal oblivion, and accepthing just about ANY template they are programmed with as the ultimate reality, of which they haven't a SLIGHTLEST clue.
Good enough?
Now... Back to original subject, and don't you please try to be "holier" than me, blaming me for all the fattest posts you can imagine. Because I am not writing for you alone, regadless of what kinda "big fish" you think you are. Seen fishes of ALL sizes.
I am writing this for generations to come and they'll be able to find this information with a single mouse click, and it may save them years if not generations as they do not have to make the same mistakes again, as they will have even less time that you all have. They'll have nanoseconds to make major decistions affecting the life force as such, and the last thing they have time for is the lectures and dictates about name capitalization principles, senile aregument as it gets. Uttery rigid and inflexible. Utterly dictatorial, and a byproduct of constant and unending brainwashing to accept the LOWEST common denominator as a word of God.
Nothing less. Nothing more...
Enjoy.
Now...
And once you get to that help screen, your ear drums will be slightly popping as you'll be given 50 pages of UTTERLY incomprehensible material and explanations about those transcontinental, fully distributed, database supported, utterly abstract and super prototyped, globally distributed and 55 layers deep structures, architectures and designs, would be referring to yet anothor thing of the same maginitude.
But, to get an answer on the simpliest things in the world, such as how do i get the keyboard events, you'd have to graduate from Java Academy and get youself a phd, wasting years of your life, trying to comprehend just about the simplies things imaginable.
Just about the ONLY thing I have seen so far with java, is that unless you use a 100 percend C code syntax, you are in trouble and in a major way. And that goes to just about every single architectural element in Java.
Just try to use ascync sockets in a dedicated socket thread. Maaaan, you'd be having a headache for monts, trying to figure out the simpliest things possible. Never even HEARD of such problems. If you push help button, they'll be telling you about abstract virtual, supercontinental, globally distributed, super prototyped things that you can't even comprehend as they seem to have NOTHING to do with what you are trying to do on the first place?
Have you seen their latest super-sophisticate version of Sockets, that exist since the time of Unix? Well, just don't push that help button, as your hair may raise seeing all these "superstructures", containg about 5 levels deep of other superstructures, just to do abut the simpliest thing imaginable.
But yes, they are fully and globally distributed and you could a.ses some file, that is sitting on your book shelf on the first place, from as far, as a planet Mars?
And for what?
What if i could care less about those globally distributed databases on the first place?
Could I simply create a socket object in a single line of code and not worry about syper-transcontinental giga-sucking pipe to the Internet?
Why do I have to use Boing 747 to go to the store and get myself some food?
You, so called software architects, that I wouldn't even let CLOSE to, cause it is nothing more and nothing less than a PURE grade headeache at the end, and it would take you generations on how to explain to me how to push a tab on your super-sophisticated GUI, that, I, of an "inferior" race, kind and creed, can not simply even BEGIN to comprehend the power of.
But you know what? My stuff is gonna work after you are long gone, unless Sun, Microsoft, Boralnd and other manufacturers SPECIFICALLY and EXPLICITLY sabotage things and force you to forever shell out kilobux just to get that marginal 10 percent improvement, and if you are lucky. Because their bloatware will crash your puter when you try to start a simple editor, just to find a few words and replace them with othe words.
And bloatware is a compliment, as it is nothing less and nothing more than a monsterware, where these sadists torture you once you start their program.
Has ANYBODY tried to install windows?
Have you noticed what is going on?
Well, from the time you push that setup button, your computer, that you paid the money for, is not yours any more.
You won't be able to cancel anything if you see something funky going on. You won't be able to suspend the operation and let you have a chance to look at your file system. You won't be able to even get help or information, as your full screen is taken by their setup program. You can't even REBOOT, unless you hit the power off key, and if you do that, you may loose half of your disk and totally devastate your system.
Just because you pushed the "wrong" button. Willy will be switching your screen on and off, rebooting the system several times, asking you the questions you might not even heard of, and forcing you to do things that do not have to be done in the middle of setup, when you ALRREADY lost your operating system and your file system is nothing more than a mess of various state snapshots.
ANd there is NOTING you can do about it.
What do you call this "advanced" software?
I call it sadistm. LITERALLY.
You have no power of your own computer, and for HOURS, and pray the lord that setup completes, as, if by ANY chance, there is the most minite and most insignificant and inappropriate error somewhere, he'll simply freeze your screen, and FORCE you to reboot. He won't even give you a chance too look at your own file system and, quite possibly, get some stupid and utterly insignificant driver from your old version, that hasn't been updated for about a generation on the first place.
Nope. You can't do that. Why? Because microsucks considers it "wrong". Have any of you tried to recover from the situation of this kind?
Maaan. just about the BEST approach, by FAR, is to completely forget about trying to recover. The best way is to simply try to boot from another copy of operating system, or even go as far, as to use the boot floppies. Then copy all the files of any significance to a fifferent partition, if you didn't make a backup on the first place, which is a MUST if you are dealing with microsux. Not even that, but I made a backup of the entire partition, and when things went utterly berserk, i tried to restore the previous version of the operationg system, just to realize that some key files and drivers were, for some magic reason, abscent in the backup, and that is TOTAL devastation. You'll have to spend days if not weeks just to recover your whole world.
Is THIS the way to design and architect software and any ware imaginable?
Why is it taking 10 times less and 100 times simplier on that completely free Linux, that is considered to be an "old technology". They don't even use C++ in most of their packages last time i looked at some.
And the systems is 10 times more reliable, faster leaner and smaller.
With all those terabux and tens of thousands of programmers, you couln't create anything better?
Just wait till you get the new version of Windows. You'd better sell your house to purchase yourself a 4 terabyte memory, even if you use a 1k program.
What I heard about it, is nothing less than virtual madness. Not sure if you can run that thing with the biggest and baddest of them all, mainframes, with a super cooled CPU and a special service room just to keep all that cooling equipment in.
Is THAT the "progress" we are talking about here?
Progress of WHAT?
About the fastest one way road to hell?
Is there ANY operation in Java, beyond declaration of the simpliest data types there are, that does not use at least 5 layers of abstraction?
What IS it?
Not only that, but you can not even rely on the standardest and oldest concepts such as arrays and vectors and be assured that you have a random access to the elements, as that is all "implementation dependent", which means that vector you think is nothing more than a simple array of objects, may be implemented as a linked list, and there is no guarrantee whatsoever on what implementation is going to implement it in the way it OUGHT to be implemented?
I had to rewrite MAJOR sections of code because of this single thing and, doing it in the development environment, is nothing less than an equivalent of disaster, as you may indadvertently introduce bugs, you could have never imagined possible, even in principles.
So...
If you are working on complex enough application, you'd have to retest thousands if not tens of thousands of various cases, and some of that stuff isn't even a subject to automated testing. You'd have to spend a double amount of development time, trying to describe all possible error conditions, starting with completely wrong user entries in hundreds of different parameter fields, choices, etc., going down to network errors, disconnections, files not present, corrupt data and on and on and on.
Where is that paradise they were promising to all? Where is that portability, declared left and right on just about every corner in your favorite downtown?
Basically, the more I look at it, the more it seems that Java has no future, at least for a generation. With the amount of hassles, inter-continental law suits on just about the biggest level imaginable, and the very JVM architecture does not look like ANYTHING new under Sun, and, unless a generation of time passes, and JVM hardware chips are wired into your box right off the shelf, if people would even remember what that Java thing was on the first place, I just do not see it becoming a widely acceptable technology that has a stable enough foundation to survive the challanges forthcoming.
It is about the most convoluted design I have ever seen with just about as many levels of abstraction one could imagine in his wildest dreams, even while doing the simpliest things in the world.
Just out of curiocity, I wonder what would happen, if you managed to get a handle on the object and examine some method with a kernel level debugger. How many millions of references upon references to the structures, pointing to other structure does it take to add 2 and 2, which takes a single clock cycle of your CPU?
How many terabytes have to be swapped in and out to do so?
One day I'll do just that and report the results of it, just out of curiosity. Because what I am seeing from the day one of my Java "encounter", is that it is probably wasting 1000 times more resources in terms of memory footprints, performance and on and on and on. I just see it in the way the very development environment works.
It crawls like a turtle where it shold be flying like a bird, or even sputnik, nowadays. After literally generations of development of all sorts of languages and architectures, THIS is what we ended up with?
How many generations will it take for this thing to become as a glove, you put on your hand?
Anybody has a guess?
To me, this (footprint) is one of the major problems with Java and the whole idea of JVM. I have noticed looking at source published by various people that they explicitly import only those packages that are needed for their app.
So, instead of saying "import java.awt", they'll explicitly call for some sub-package, and that is just about the LAST thing I would like to worry about.
That seemed to be strange, but i am SURE there IS a reason why they are doing so. I am not even sure that if you have some unused code in your program, that eventually athrophied, that thing would not be compiled in and hang as a piece of dead wood in your app, eating resources for no reason whatsoever.
I have seen people here asking help on trying to get a listing of all their unused code. For what? That stuff shouldn't even be compiled in on the first place. No need to even worry about. The reason you have some unused code is because you have switched to a new approach, and, having that unused code in your source files may have ten times more benefits than it creates problems, because it shows you in no uncertain terms, what was the previous design and allows you to tweak your new design and avoid all the pitfalls you might fall into, not realizing there are some tricky situations that there were handled by the old version.
And i see it left and right. I have a special religious ceremony, where i go to all the source files and remove all the code that is commented out in BULK, the entire methods need be. Some of it is obviously outdated and after seeing the new version run stably for sufficient amount of time, you can painlessly remove all the code that is commented out, and that code, in most cases, is your golden treasure, as you can see the most minute permutation in your own thought process and you can see how things could be simplified even futher, making it clearer, more efficiend and more universal.
And this kind of stuff you can expect with just about every single step in your development process, going down to expecting a reasonable behavior when user pushes some button, checkbox, or enters text in one of the fields.
For example, in MY case, there is a need for a user to be able to save his current configuration at ANY moment, regardless of what frame is he working with at the moment.
In fact, he can have ALL the frames open at the same time to see various parameters, such as files, complex filters, global parameters, etc. So... He can even go as far, as starting some major operation, and, in real time, open up as many parameter frames and even change those parameters on the fly, while current operation is in progress, which isn't the easiest thing to manage on the first place.
He can change some parameters that in real time, the next object processed would have those parameters so there is no need to restart some major operation, which is probably the trickiest thing there is, especially considering that he can fire up multiple treads that do different jobs. Sure, some of it is not possible in principle, but quite a lot of it is doable, giving the user tremendous power, flexibility, ease of use and the most intuitive user interface imaginable.
THAT is what I call architecture. THAT is what your stinky piece of software for on the first place.
TO FACILITATE THE USER, and not raised the tripple armored walls around him and FORCE him to do it the Willy Da Gates way.
THE USER IS THE MASTER, and not you, slaves, tied to your desks with the golden chains, not even able to sneeze without getting a "permission" from some nazi style sadists, whose mind is prototyped with the most primitive templates there are, not even knowing who he is. So lost is he in this biorobotic maze of NWO, cooking on your plate this very moment, eventually leading, according to official dictates, to a global totalitarian system, where there are only two classes left: The "elite", those blue blooded "Aryan" race, and the "slaves", aka the "filth of inferior race".
THIS IS LITERAL MODEL and i have piles of specific reference and globally distributed archives that are guaranteed to survive for at least a generation unles the very life on the planet Earth ends, which is not that inconceivable, at least in the current state of affairs.
Now...
For that, he has to be able to hit a function key, from ANY window, and update his set of parameters or reload the news ones if he wishes, and it all has to be immediately reflected in ANY and all windows, open or closed.
Realizing that some of those frames may be able to start a lenghty process of extracting huge amounts of information, filtering it, converting one data representation into others, such as generating perfectly valid web pages, with full support for style sheets, in line, if so desired, this thing could be swallowing hundreds of megabytes.
With the original event model, that was a direct copy of original Unix based model, where you have the eventHandler that could process just about any event imaginable and report to the higher level wether it actually handled the event, so they could see if THEY need to handle it, everything was about the simpliest thing in the world.
And now? Well, just about for every single GUI element on every single frame of yours, you'd have to hang the event handling code. I've spent DAYs on trying to figure out how to do it without hanging all the abstract fat on every single checkbox, button or a text field.
Second major problm in MY case, is that the user, and I am dealing with ordinary users, not some huge corporations, if he would even bother to get your program on the first place, expects to simply double click on an executable (Windows environment), and see how program works, which is what nearly 100 percent of present software products do.
But that is not possible with this JVM architecture. He would have to download 5 times as much code as the application itself needs, to get the JVM AND install it on his machine, and that is about the LAST thing he would want to bother about. In vast majority of cases, people do not even know what Java is, and could not even bother with installing all these "virtual machines", just because of security risks alone.
People claim that Java is "safe", that you can't write files and on and on and on, but I don't believe a single word of it. I happened to work on one project at HP in the silicon valley doing some kernel level stuff, and there was one guy who worked in the kernel security department developing security related code.
He told me of some security issues with some major programs on the market. He could totally take over your machine even though all you were doing on the net is web browsing, which seems to be one of the most innocent things there is.
I also developed a related code for a firewall/monitor tool that allows customers and providers to visually monitor their traffic, create various rule sets for specific instances. And, what i have seen is that vast majority of people do not even suspect that they are literally open to all the hackers out there, just by simply using their web browser, I am not even talking about specific ports and protocols they have open on their systems. There isn't a single session when I login and use internet, when I am not attacked, and some of those attacks originate at the very ISP provider facilities from what I am seeing, and automatically probe your system for vulnerabiltis as soon as you log in. Things like that. I can hardly remember a SINGLE time when i logged in that there were not a MAJOR security probe performed on my machine.
So, to claim "java is a safe as heaven" in terms of security, you need to be a 5 year old kid. I have personally seen some stuff, you couldn't have even IMAGINED in your WILDEST dreams. Nothin new to it.
Yes, Java does have its attractive points and IS more abstract and platform independent than C++ can ever be, especially if you consider all the MS stuff. But, at the same time, what can be done to you and your machine, just by you enabling some java related features, is nothing less than circus miracles.
But, what I find is that it is WAY less portable as people keep claiming. In fact, I am not sure there exists a development environment that even cares to bother about portability issues. Borland does it in its ways, and if you are not careful, you'll wire-in some of their proprietary things on the simpliest level, such as layouts, and, if you are not a fool, when you try to build your app, the other compilers would tell you they never heard of such layout or things of this nature.
So, that claimed portability is vastly exagerrated. Borland is not compatible with MS stuff, and those, in their turn, do not even support the javax packages, and, instead, do just about all they can to trap you into their proprietary approach, and, in some cases, you might not even noticed that you have already used some of their stuff, until you try to rebuild that app under a different compiler.
Simple things like toString() method, that has a proprietary microsoft's equivalent ToString(), which comes earlier in a collating sequence. So, when you use some object, and hit the dot key to expand it, the FIRST thing that is presented to you is Microsoft's version, and you might not even noticed it as it all happens in a semi-automatic way. I have fallen into this exact trap, and not once. The only thing that saved my skin is to try to rebuild it using a different development environment and I had to waste some time fixing some of those UTTERLY unnecessary screwups.
So, all this looks like walking on a mine field and takes away so much energy on worrying about all these compatibility issues, it is simply hard to believe.
In case of code I am working on right now, I spent at least 70 if not 90 percent of my time on all these issues. On every single hour I spend actually developing stuff, I spent sometimes DAYS to figure out the solutions to the simpliest problems imaginable.
Just to do a GUI layout of a modern app, it ALREADY took me a week, and the stuff is so standard and I use so little of those "sophisticated" features, that all that I am wasting my time on, could be done in few hours, if not minutes, under any environment I am aware of.
Quite often I wonder what kind of mud I've got myself into with this whole Java thing. I could do the same thing in C++ and be done with it monhs ago, without even bothering about screen resolutions, font sizes and on and on and on.
The Java footprint is a footprint of a monster and its overhead is well beyond obscene.
So...
Hope that helps YOUR situation :---}
Good luck.
>> The >> first thing I thought is that adding more RAM will solve this ( though [quoted text clipped - 76 lines] >Hope this helps, >Daniel. Lew - 30 Jan 2007 15:12 GMT [major top-posted rant snipped]
wow.
- Lew
Daniel Pitts - 30 Jan 2007 18:03 GMT > [major top-posted rant snipped] > > wow. > > - Lew Wow indeed.
Yes, Java has a different approach to memory management than C++. It is common to see a larger footprint per JVM than you would in a C++ application. Keep in mind though, that while the memory is allocated in the JVM, much of it is garbage collectable, and will be collected before more memory is allocated.
Also, what was all that irrelevant chatter about kernel security and knowing a guy who can hack into your computer while you browse the web?
nukleus wrote:
> He told me of some security issues with some major programs > on the market. He could totally take over your machine even > though all you were doing on the net is web browsing, which > seems to be one of the most innocent things there is. Actually, browsing the web is not one of the most innocent things. Its one of the most dangerous, and most people should know that. Its safer if you know what you're doing, just like those of us smart enough not to lick the sidewalk. Sure, you could get infected, but you can also protect yourself in so many ways. The only time I got a virus was from a CD out of a programming book. I've never gotten a virus or a worm, and I don't run antivirus software.
> I also developed a related code for a firewall/monitor tool > that allows customers and providers to visually monitor their [quoted text clipped - 11 lines] > when i logged in that there were not a MAJOR security probe > performed on my machine. What does this have to do with Java anyway? No one said connecting to the internet was safe. No one said walking outside was safe either. I have to say, I don't get security probes very often, perhaps its a *feature* of your ISP?
Alex Hunsley - 01 Feb 2007 17:24 GMT [snip lots of rant]
> Thanks to this group, at least in SOME cases, you can > ask mere mortals if they know the answer to your simpliest [quoted text clipped - 3 lines] > and you'd have to go back to your puter and sweat it > out to full extent. Kinda sadomasochistict trip. If you don't like the help here, you could demand back the money you paid for it...
> And what CAN you expect from those people? Once people get over their self-entitlement trip (the one that have such a thing), people often find help. More so if they're willing learn a bit about the group and follow some suggestions.
> Not only that, but you will be insulted and rediculed, > told that in Java, the names of routines MUST be in [quoted text clipped - 5 lines] > Does it make your code MORE readable? > - Nope, just the other way around.
> Does it prevent your compiler to compile this thing? > - Not even in the picture. [quoted text clipped - 5 lines] > > What IS that dictate good for? It's called convention. Following a widely held convention aids quick understanding of something (by most people).
> Just read this very group. > You'd be amazed if you are new to java. [quoted text clipped - 3 lines] > instead of getting assistance, > get a brainwashing dictates on what you MUST do! Helping people to make themselves more understandable isn't a bad thing. And quite a few people do get help here (of the sort you're mainly thinking of).
> You see? > [quoted text clipped - 4 lines] > Nothing more. > Nothing less... [snip]
> And here, you may not even get a reply on your > question, just because you show these people > some piece of code that does not fit THEY view > on Universe and a life force as such. Get over your sense of entitlement. People help here for nothing. They don't get paid. The least they are entitled to is to decide what *sort* of advice they give, and who they reply to. And telling people why they're not having much success getting replies counts as helping them.
> Wake up, people. > > WHAT are you doing here on the first place? > Why do you even bother to answer questions? > You see, if I am an expert, built according to YOUR > templates, I don't need your help. I can teach YOU, You think there is only one sort of problem? There are many sorts of problems possible. There are many ways code can be 'broken'.
> and teach you using REASON, and not some dictates > as to how the planet Earth is to turn and where > is the Sun to rise in the morning. Reason tells us that following convention aids understanding.
> Is it clear enough? > [quoted text clipped - 6 lines] > display a single help screen, which shouldn't take > more than a few milliseconds nowadays. [snip more]
Just a little comment in the middle of that rant for you.... carry on!
Lew - 01 Feb 2007 18:26 GMT > Just a little comment in the middle of that rant for you.... carry on! Don't feed the trolls.
- Lew
Alex Hunsley - 01 Feb 2007 20:08 GMT >> Just a little comment in the middle of that rant for you.... carry on! > > Don't feed the trolls. I don't think he/she/it it *is* a troll. Just misguided. I'm not losing any sleep over it...
> - Lew nukleus - 02 Feb 2007 01:22 GMT >>> Just a little comment in the middle of that rant for you.... carry on! >> >> Don't feed the trolls. > >I don't think he/she/it it *is* a troll. That fool is simply fabricating his poisonous lies in his attempt to get enough a.s lickers around to start some conspiracy of the herd, yelling:
Zig hail! ZIg heil!
>Just misguided. Oh, that is a pleasant surprise.
So we even have guides here. Thats refreshing.
>I'm not losing >any sleep over it... Btw, why would you even bother to follow up on this?
Any particular reason? Or just killing time of your life?
No wonder those kids that come here to ask a simple question and, instead of getting an answer, get a pile of brainwashing propaganda and, simply tell you into your faces:
"Go f.ck yourself".
And split.
Is THAT the goal of the education system around here?
Is it some kind of a passport?
"Either you become like us, or you are not going to get a single word on the point of your question, and we will gather around to laugh at you, clueless"?
Am I missing something here?
So...
Are you trying to get enough a.s lickers here and start a conspiracy of taking over nothing less than big-8? Or is this some kind of an equivalent of a Bohemian Grove? Ever heard?
I can show you da way to the REAL power. You know what I mean?
What are you sitting here, wasting away for? You could be rulers of entire big-8!!!
You know what big-8 is, by ANY humble chance?
Good luck, and don't forget to have a good hearty lick on that fat a.s in front of you, cause at the moment, HE is closer to that sweet fruit you've been craving for your entire lives.
You, people, are pathetic, you see? Because you are wasting 99% of your energy on the issues of morality in a TECHNICAL group.
And, in a technical group, if you are creative to ANY extent, you don't have that luxury of wasting your life on morality, because you have too much fun dealing with REALITY.
Makes sense?
Planet Earth, Planet Earth, ANYBODY home?
Oh, that static again?
How unfortunate, you need it all too bad at the moment.
I almost thoght of promoting some of you and making something useful out of this lil game you play here, but now i'd have to think about it again.
Zorry to tellya that.
Btw, have you noticed what is the name of this thread?
So...
Do you have any comments on this topic?
Or my original post does not have enough specific issues they blue blooded of your kind could even begin to address?
What do you think about that footprint?
>> - Lew Alex Hunsley - 02 Feb 2007 02:22 GMT >>>> Just a little comment in the middle of that rant for you.... carry on! >>> Don't feed the trolls. [quoted text clipped - 6 lines] > Zig hail! > ZIg heil! Sorry Lew, you were right in calling 'troll'.
nukleus - 02 Feb 2007 02:49 GMT >>>>> Just a little comment in the middle of that rant for you.... carry on! >>>> Don't feed the trolls. [quoted text clipped - 8 lines] > >Sorry Lew, you were right in calling 'troll'. You forgot to say: lick, lick.
nukleus - 02 Feb 2007 01:22 GMT >> Just a little comment in the middle of that rant for you.... carry on! > >Don't feed the trolls. Oh, another one of those priests with pious faces, with a rubber stamp in the hand, making assumptions and fabrications.
Sire, i wantched you for some time. You even happen to get on one of my lists. Unfortunately, i'll have to take you off of it.
Sire, I suspect you consider yourself to be the highest priest around here.
Is it true, by ANY huble chance?
Is your blood at a boiling temperare ALREADY? Would you kindly whipe that foam from your mouth?
>- Lew nukleus - 02 Feb 2007 01:22 GMT >[snip lots of rant] Lots of stamp?
>If you don't like the help here, you could demand back the money you >paid for it... I DEMAND IT!!!!!
>> And what CAN you expect from those people?
>Once people get over their self-entitlement trip What is "self-entitlement trip"?
Is it from those "help" files trip?
>(the one that have such >a thing), people often find help. I am not sure you understand what I am saying, and this is not an issue with this group only. It is the issue just about everywhere you look.
The issue is this:
When someone needs assistance, it is OBVIOUS they do not know enough, pretty much by definition.
Now, instead of telling them "go look up some other pile of you know what by now", why not take your time and explain the tricky parts of the issue. Do you realize that your articles are in my archives going back at least half a year and they are available globally via Google for the VERY least.
And, being as smart as your very first sentence states, talking about "rants", do you have enough active neurons in your cockpit to comprehend that if you give an in-depth response, not only will you help one particular individual, but you'll cover the issue FOREVER, be it only YOUR own version. Then some other "expert" can do just the same and on the same thread, and, by the time we are thru with that thread, you gave a globally distributed version that finally talks human language and covers the issue.
Do I need to chew more, mr. smart?
And I have seen what kinda help people provide. They are like hoarding something and are just sending people from one pile of you know what by now, to another.
And the thing could be finished literally taking a few minutes of your time. Finished COMPLETELY pretty much.
Then...
You could make your own archive of your own geniououous revelations, and simply repost it need be, if the same issue arises again. You could also make your supersexy web page and show how great you REALLY are by simply pushing a button and automatically generating the supersexy web pages and an index of your great discoveries.
And what are you doing instead?
Trying to make a FOOL out of me? Trying to tell me that you, high priests, are not going to give me your opinion on something that is the issues for me right now?
Well...
Tough.
Because the opinions I've got so far, were nothing more that pointers, which means...
Which means my time could be better spent by simply going directly to those piles of garbage they call documentation and dig up their source code, project files, etc. and finally realizing where that screw up was, just like i did with Borland JBuilter the other day.
It turns out that their own project configuration files do not reconcile with sources. I do not wish to waste another sentence on telling you where and how.
Get the drift?
Oki, doki.
Zo...
Whats next fer breakfast?
>More so if they're willing learn a bit >about the group and follow some suggestions. I know enough about usenet to the point that you look to me like clueless with your whining. And about what?
You have a "problem" with me personally? Are you going to teach me how the planets turn?
This is EXACTLY what i was telling you in my post. You see, you have your own ideas of "manners" and how people SHOULD!!!! behave when they come to the royal highness of your kind and creed. And you will be TEACHING them something that has to do NOTHING with what they came here for on the first place.
Instead of addressing a specific issue, you will be engaging in this rotten guilt instillation trip, like you are nothing less than a Son of God, having all the answers to how life force operates.
Sorry, I dont know you enough. But I can push a couple of buttons here. Hang on, the breakpoint is hit...
:---} Just kidding, just to show you your relative significance in the scheme of things.
So...
You just pick the subject and i will produce you all your great deeds on this group within a minute and post it here in bulk if you wish. AUTOMATICALLY. You see?
Do you know me to make these childish judgements.
Some of you, arrogant "experts" with pious faces are even telling me they are getting fed up because my posts are too long.
Oh, oh, oh, oh, oh.
Do you, experts, know the simpliest usenet principle? Well, if you don't like it, don't read it. Don't follow up on it, and just forget about it.
I don't need your morality lectures, cause, first of all, i do not expect ANYTHING of real value from you on the first place. So... I am not dependent on you like on some oxygen suppliers.
Simple enough?
And then?
>> Not only that, but you will be insulted and rediculed, Isn't this the case? Do you want me to produce all your priestly brainwashing statements?
>> told that in Java, the names of routines MUST be in >> lower case, even though Sun itself has some things [quoted text clipped - 17 lines] >It's called convention. Following a widely held convention aids quick >understanding of something (by most people). ALL biorobots have these kinds of answers. But this is not an answer of ANY kind, because there is no reasoning in it, there is only an rears licking ideology of the herd.
One more time: During the WWII, 99.99 percent of German people, screemed their heads of in that nazi histeria, shouting:
Seig hail! Seig heil!
You understand?
Can you connect these two together without me chewing it for you?
I bet not.
So, i'll explain to the high priests of your kind and grade:
WHATEVER YOU AGREE WITH THE HERD, DOES NOT IMPLY THAT IT MAKES ANY SENSE.
Sorry, I don't have letters of larger size.
Now, when Jesus went to school, and the alphabet was introduced to pupils, the teacher said: this is alpha, this is betta, and this is...
And Jesus said: Sire, before you get to beta, you need to explain what is alpha. What is it for, why is it there on the first place, what makes it different and things like that.
You understand? Can you connect it now?
Translating: You need to use YOUR brain to figure out what is what and who is who, instead of ligning up in a long line and licking i hope you know what in front of you.
Zo...
You did not provide the very REASON WHY this "convention" has ANY validity whatsoever. All you said is just you all agree. Not a problem at all. You can agree that the Earth if flat. But you know how much difference all your agreements make to me?
Well, just a waste of time typing all this. THAT is how much.
I STILL do not have that "help" you are promising. And help not to me, but to YOURSELF, mr. confused, who thinks he is to teach others how to breathe and how to walk.
>> Just read this very group. >> You'd be amazed if you are new to java. [quoted text clipped - 6 lines] > Helping people to make themselves more understandable isn't a bad >thing. Bad thing. Good thing.
That is how you are prototyped. A simple, primitive template. "Coca cola is good. Drink coca cola".
Is THAT the level we are talking about here?
WHO are you to help others "to make themselves more understandable"?
To WHOSE ears?
Is it just because your closed mind can not tune into the wavelength of those "clueless" and talk THEIR language, by ANY chance?
When i read that so called documentation, and, accidentally, look into their own source files, i, suddenly, realize that this so called documentation came directly from their comments before the methods in their own source files, which means...
What do you think it means, mr. smart?
Well...
What it means to ME, is that this can not POSSIBLY be documentation to provide to those "cluless". It is rather SPECIFICATION. Do you see the difference between specification and documentation?
Dear mr. smart, the difference is simple enough even for the most clueless of all to comprehend.
Specifications are written for the experts and for those, working in the next department, so they know exactly what this thing does. It is a language of coded symbology, when one definition refers to another and that one, yet to another.
But to someone who does not know all these technical intricacies, just about ALL this so called documentation produces is HEADACHE.
You understand, mr. smart?
Because they had a SIMPLE question in the beginning, and ended up being forced to learn the whole java arthitecture. But ALL they wanted to know is how to cath that stupid keyboard key.
Documentation, in its turn, also needs to be different. I happen to have had a discussion with one of the prominent people in the field, with a phd in education, who was a vice president of one of successful companies in Silicon Valley, USA, developing computerised educational products, and I asked him a simple question:
Why is it the the pupil has to be forced to read the entire book cover to cover instead of looking at things in that book at HIS paste and according to HIS interests and individual tendencies.
And the answer was?
Well, we did a study on this subject and came to a conclusion that this is very ineffective method. It takes MORE time to learn this way.
And you know what I say?
I say: screw your "research".
The material needs to be presented on at least three different levels.
1. Intruductory, for those "clueless", who don't even have an idea what they are asking. They are just beginning, and you can not give them the design specs, written by high priests. They'll go nuts. That is ALL you can hope to achive.
2. Once you are no longer "clueless", and become interested in getting as much bang for your buck in some specific issue, the material can be expanded and made more detailed, more in depth.
3. But once you know this thing nearly in and out, there comes the ULTIMATE level, when you start questioning the very roots of that specific subject.
THAT is my education system.
So...
When i ask you about layout, which i NEVER had to deal with on the first place, what kind of "help" would you provide?
Go read some OTHER pile of dogshit they call documentation?
Then what do I need you for?
You are just about as good as a plain corrupt priest. That is all.
Nothing more. Nothing less.
And you know what I do to those priests with pious faces of "holier than thouh"?
Guess, mr. smart...
And then?
>And quite a few people do get help here (of the sort you're >mainly thinking of). Oh, so you are not merely mr. smart, but a subtle poisonous snake?
Do you think i can not read your insult?
One more time, at this junction, i am not even DREAMING of getting help, which is what you meant, mr. pervert.
Seconly, what you meant, is that now your blind mind has already been committed to some things.
You are saying that I did not formulate my questions correctly, in enough detail and precision?
Sire, your single sentence is so full of poison, my screen got wet here. Lemme whipe it off.
Oki doki.
And then?
>> You see? >> >> MUST! Is this true, by ANY chance?
>> And unless you do so, you are considered of an >> "inferior race"! >> Nothing more. >> Nothing less...
>[snip] Why did not you follow up on it? Isn't it EXACTLY what you are doing this very moment?
>> And here, you may not even get a reply on your >> question, just because you show these people [quoted text clipped - 4 lines] >don't get paid. The least they are entitled to is to decide what *sort* >of advice they give, and who they reply to. Clear to a five year old. And then?
>And telling people why they're not having much success getting replies >counts as helping them. Uhu. So, instead of talking THEIR language, which is what REAL masters do, you want THEM to talk YOUR language, of which they know nothing to begin with.
Zo...
What kind of an excersize is this?
Lemme expand it one level.
It is an excersize in SADISM, no matter what kind of sticker you all agree to put on it.
Yes, you can give your opinion, your advice, share your experience, but if you take away their freedon to express themselves in the way that is more natural to THEM, and at THIS particular junction, forcing them to jump up to YOUR "high" level before you even BOTHER to give them that stinky hint, then...
Pretend you skipped about 5 paragraphs here. What a pitty. Juicy material it could be.
>> Wake up, people. >> >> WHAT are you doing here on the first place? >> Why do you even bother to answer questions? >> You see, if I am an expert, built according to YOUR >> templates, I don't need your help. I can teach YOU,
>You think there is only one sort of problem? There are many sorts of >problems possible. There are many ways code can be 'broken'. I am saying that no matter what kind of problem comes my way, and not matter how complex it is, i'll find my way out of this maze, and can expect VERY little from others as most of those "professionals", just about ANY place you look, are simply hoarding some "secret trick" and would never tell it to anyone, even if you paid them. Because THAT is how they maintain their "value" in a company. That lil nothing is the thing only THEY know, and they go as far, as to sabotage the entire projects, making it as difficult to others as possible. I know this trip in and out. It is not a theory of ANY kind.
Because these people are full of fear of survival, and THAT is exactly why they accumulate those things and hide them in their bag, as that gives them some assurance that they are not going to be kicked on their a.s as they know something, the others don't seem to know.
Enough?
Or you want more?
>> and teach you using REASON, and not some dictates >> as to how the planet Earth is to turn and where >> is the Sun to rise in the morning.
>Reason tells us that following convention aids understanding. You can twist it in just about ANY way you please, but if we address the issues of nothing less than reason itself, things are going to get even hotter. I promise.
Did you understand what I meant by reason? Reason versus a stupid belief, a result of agreement on the lowest common denominator.
Reason is when you use your mind and are not simply blinded by all the prejudice they programmed you with.
Simple as that.
>> Is it clear enough? No?
We need to chew on this more?
Why don't you simply tell me what are the tricks and boundary conditions of gridbags and where are pitfals?
Or you'd prefer to waste ten times more time to make a fool out of me and prove that your priesthood is something that has validity to it?
>> I spent DAYS and still can not figure out what is the >> problem on the first place. Just try to push the help [quoted text clipped - 4 lines] >> display a single help screen, which shouldn't take >> more than a few milliseconds nowadays.
>[snip more]
>Just a little comment in the middle of that rant for you.... carry on! This stuff isn't quite rant, mr. smart. And it is good you say it, just the way you do. Because, from now on, it becomes an inprint. And inprint of what kind of "helper" you are.
And what I see is that you are but a poisonous sadist, becase instead of addressing a SINGLE specific issue and giving your view on that, you DELIBERATELY witheld all your "wisdom" and reduced the whole thing to the puppet theatre level.
Yep, mr. smart.
Btw, why did you even BOTHER to read that long post of mine? Are you a pervert, by ANY humble chance?
Daniel Pitts - 02 Feb 2007 03:49 GMT > In article <45c221d6$0$764$5a6ae...@news.aaisp.net.uk>, Alex Hunsley > [quoted text clipped - 7 lines] > > I DEMAND IT!!!!! [snip more rant]
What's the word I'm looking for? Oh yeah, *plonk*
nukleus - 02 Feb 2007 11:50 GMT >> In article <45c221d6$0$764$5a6ae...@news.aaisp.net.uk>, Alex Hunsley >> [quoted text clipped - 7 lines] >> >> I DEMAND IT!!!!!
>[snip more rant] Yep, considering that your sense of humor is on the par with my fridge, what else would I expect you to leave in the post?
What are you foaming at the mouth about, mr. smart?
>What's the word I'm looking for? >Oh yeah, *plonk* EXACTLY. Just like just about all of those high priests eventually do.
You see, for some strange reason, it is not enough for you to simply set your filters and be done with it.
Nope. You have to come here and announce to the whole world what an intolerant blood boiling idiot you are, while, at the same time, thinking it makes you "superior", just by the mere fact that you announced your foolish "plonk" thing. Do you realize how much do I care about your "plonks"?
And the most amazing thing about this is that you are also perverts, inevitably so, because most of you, if not all, simply use this stupid template of announcing your plonk, but in actuality, you are still reading those, you claim to have plonked, and I have seen PLENTY of those cases. And it goes as far, as once in a while, you even follow up on the their posts. Because you could be made to dance to just about any tune there is, and, eventually, can not contain hiding in the back and pretending you are not seeing it all. Once you are tickled enough, you will appear out of nowhere. See?
Because, first of all, by plonking me, YOU are at a disadvantage, cause I can read your posts if I want to, but you can not read mine. So, from now on, no matter how much fun I can have with you, showing your great achievements, and laughing my rears of at you, you wont be able to even know that you might have become but a laughing stock.
See?
I do not have, never had, and have no plans to "plonk" anyone, even the most outrageous idiots, cause I know how to use my "next" button. And quite often, those I should have "plonked", turn out to be the about the finniest posts one can find.
Btw, what is the Subject header of this thread? Why are you posting all this stuff being UTTERLY off topic?
Are you a troll?
This is a technical group and you claim to have more than but a few broken neurons on line. Can't you figure out the simpliest thing of this grade?
Or you, "experts" around here, think this group BELONGS to you and YOU are here to do whatever YOU please, regardless of your own netti-quetti-betti-fetti, you yourselves claim to follow, or equivalent thereof with all your "thou shalt not do this, and thou shalt not do that" stuff?
THOU SHALT NOT POST OFF TOPIC IN A TECHNICAL GROUP.
THOU SHALT NOT FOLLOW THE POSTS OF THOSE, THEY CONSIDER TO BE OF INFERIOR RACE OR CREED.
THOU SHALT NOT ENGAGE IN INSULTS AND REDICULE OF THOSE WHO DO HAVE A VALID POINT.
You want more?
Or shell I let you talk to my monkey?
Now, back to the topic of this thread:
What i found out is that in order for you to run a simple program, which only does things like
int foo = 1,
what would all your super-advanced technoly of delayed just about everything do?
Well, if you set a brake point on main(), and then start up your app, you may be unpleasantly surprised, that before your breakpoint is hit, some heavy duty time has to elapse, and that is just about the first thing i have noticed when i tried to run the code i interited. For some strange reason, it would take it a long time to evan come up. When I looked at processes and resources, i was not so pleasantly surprized to see that by the time I select my first choice from the menu, before actually doing anything, it swallowed about 20 megs. For what?
Well, it turns out that before you main() gets hit, you, royal architects, have to load the entire bloatware, called JVM.
And even though that simpliest program that does not even do anything consists of a single CPU instruction, taking 1 clock cycle, for some strange reason, you have to load the whole universe.
For what?
Well, because it is called JVM. Bloatware that is. It can't use the same concepts that are used in virtual memory management, called page fault and bring up only those things, it actually needs this very moment, it seems.
True, I haven't investigated this issue to the end, and I hardly need to, because I see the run time results without even figuring out why is it so bloated.
And I bet you, if you run several java apps, you'd be loading the same JVM again and again, despite the fact that they can't even talk to each other without going outside the scope of JVM itself.
So...
What is this great breakthru are we talking about here, if you don't seem to manage even thouse things that were resolved generations ago?
I was quite surprised that the AWT wasn't even thread safe and if you want to use threads, you'd better download 50+ megs of the latest version of the bloatware, and not only you, but ALL your customers and co-developers.
How could THAT be?
Are you joking or something?
So, for the real world applications, especially those, we are talking on this specific thread, you have to load literally gigabytes of JVM alone, one for each instance of your app.
So, if you are writing apps for the biggest and baddest of themn all, and ESPECIALLY in network related areas, which Java claimed to be designed for on the first place, you better tell your boss that you need to order the latest version of the mainframe with super cooled CPU and create a huge service room just to keep all the cooling equipment in.
You'd have to learn how to walk on your ears if you want to be involved in anything big related to java.
So, if he, for some strange reason, thinks that they just want to push a few buttons and update the global system of whatever they deal with, YOU are in trouble. Because he'll probably think that it is YOU that is the problem and not that bloatware they have chosen to step into.
Good enough for "on-topic" material?
Your turn, oh masters of dizastas.
Cause it looks like we're going to have some fun here.
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|