Sentence #2 is correct as it is written.
Sentence #1 needs a comma.
Sentence #3 needs to be separated into two clauses. This can be done with a period or a semicolon.
Sentence #1 uses but, which is a coordinating conjunction. When two independent clauses are joined with a coordinating conjunction, a comma should be added to separate both parts of the compound sentence.
- I know about programming, but I have a little bit of confusion in Java programming.
Sentence #2 is correct as it is. As noted by SF, although can be used at the beginning of the sentence. If the two clauses are reversed, the sentence will require a comma. As it is now, the sentence does not require a comma. Here is the basic rule for combining two clauses with a subordinating conjunction such as although: if the sentence begins with the conjunction, add a comma in the middle; if the subordinating conjunction is in the middle of the sentence, no comma is needed.
2a. I know about programming although I have a little bit of confusion about Java programming.
2b. Although I have a little bit of confusion in Java programming, I know about programming.
Sentence 3 uses however. However is a conjunctive adverb. There are a few ways to use however correctly, but it cannot be a substitute for but. The easy solution is to separate the two clauses with a period or a semicolon, and begin the second clause with
the conjunctive adverb.
3a. I know about programming. However, I have a little bit of confusion about Java programming.
3b. I know about programming; however, I have a little bit of confusion about Java programming.
Some conjunctive adverbs, such as however, can be used another way. The clauses still need to be separated, but however does not always have to begin the second clause. It can often be "worked in" to the second clause next to the main action verb. This is usually more fluent when an auxiliary verb such as do is present.
3c. I know about programming; I do, however, have a little bit of confusion about Java programming.