I will try to make a few reasonable points on pocket Js first, then let me share the conclusion/strategy I have arrived at:
Any range you are going to get calls from before the flop, will either not get you calls postflop or you will be outdrawn.
If your Jacks stay an overpair, you also likely don't get calls from weaker
hands that would have called you, except ATos-QTos if they hit a T.
Hitting another J is Pretty much your only chance to not just win the hand by check-check-check but to also be realistically able to place value bets that can you can expect to be paid by worse.
The problem is, that when that J is the highest card on the board, only slowplayed QQ+ are likely to call your bet.
If there is only one of either A,K or Q, your chances of someone having a combo including that are rather slim, depending on table size.
If there are more broadway cards, you will get called but shouldn't bet because every card that helps you get called will be in a range that gives your opponents a straight.
So basically, if the table is anywhere near tight, I think it is only reasonable to play Js to steal or defend blinds and shove if you are very very shortstacked and there are no imminent price jumps.
My personal, GTO-proof strategy for JJ is as follows:
Toss a coin and instantly fold to any if it's heads. If it's tails, think for a while and fold to any before my timebank is down. If it stands on it's edge, I am commited to put 100% - 1BB of my stack in the pot, press the check/fold button to immediately leave the table, activate
pokerstars' permanent self-exclusion feature and always carry a knife around in the future to carve out both of any Jacks' eyes I come across so you won't ever have to play JJ again.